カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

Androidでクリップボードを扱う

Androidでクリップボードを利用するには、クリップボードマネージャーを使います。

まずはマネージャーの宣言

ClipboardManager myClipboard = 
    (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);

クリップボードに文字列を格納

myClipboard.setText("テキスト文字列");

クリップボードから文字列の取得

String s = clipboard.getText().toString();
1,681 views

アクティビティのライフサイクル

Androidアプリを開発するにあたり、メインとなるアクティビティのライフサイクルを理解していないといけないので、メモ的に記載しておきます。
p2-1

1,908 views

Eclipseが起動できなくなったときの対処法

Eclipseがいつの間にか起動できなくなることがありました。
Eclipse を起動する時に使用される「Java VM」が正しく指定されていないことが
原因の可能性があります。
他の要因の場合もありますので、一概にこれで解決できるわけではありません。

詳しい原因としては、何らかのJavaベースのアプリケーションをインストールした際、
環境変数PATHがそれによって変更されてしまい、Eclipseで使用するJava VMのバージョンの設定と異なってしまうことにあるようです。

eclipse.iniに設定を追加しましょう。
「-vmargs」オプションの前に「-vm」オプションを追加します。

-vm "Eclipse 起動時に使用する Java VM"

例)

-vm
C:\Program Files\Java\jre6\bin\javaw.exe

参考URL
http://www.hitachi.co.jp/Prod/comp/soft1/cosminexus/useful/tips/090601_specify-eclipse-javavm.html
http://www.andr0o0id.com/?p=854

1,893 views

保存した画像をギャラリーにも登録する

画像を保存してギャラリーにも登録するのに、ContentResolverクラスを使っていましたが、
それではギャラリーに登録できないことがあったので、代替えの方法をご紹介します。

ContentResolverクラスの代わりにMediaScannerConnectionクラスを使用します。

String PATH = Environment.getExternalStorageDirectory();

String filename = "example.png";
String mimetype = "image/png";

File file = new File(PATH, filename);

MediaScannerConnection.scanFile(
    this,
    new String[] { file.getPath() },
    new String[] { mimetype },
    null);
3,458 views

現在地を取得する LocationClient

GoogleMapに限らず、位置情報を利用することは多いと思います。
LocationClientクラスを利用して位置情報を取得することができます。

GooglePlay開発者サービス(GooglePlayServices)を利用しますので、
プロジェクトにライブラリを組み込む必要があります。
導入方法は以下に書いていますのでご覧ください。
[Google Maps Android API v2]

今回、必要なインポートの抜粋。

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks;
import com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener;
import com.google.android.gms.common.GooglePlayServicesUtil;

import com.google.android.gms.location.LocationClient;
import com.google.android.gms.location.LocationListener;
import com.google.android.gms.location.LocationRequest;

Activityを継承したメインクラスにコールバックのクラスを実装します。

public class MainActivity extends Activity 
    implements 
    ConnectionCallbacks,
    OnConnectionFailedListener,
    LocationListener {

LocationRequestの設定をします。

private static final LocationRequest REQUEST = LocationRequest.create()
        .setInterval(5000)         // 5 seconds
        .setFastestInterval(16)    // 16ms = 60fps
        //.setNumUpdates(3)
        .setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);
LocationRequestのパラメータ設定
setInterval (long millis) ミリ秒単位で位置情報更新の間隔を設定します。
setFastestInterval (long millis) ミリ秒単位で位置情報更新の正確な間隔を設定します。
setNumUpdates (int numUpdates) 位置情報の更新数を設定します。
setPriority (int priority) 位置情報取得要求の優先順位を設定します。

続きを読む…»

10,208 views