Android/プログラミングメモ
提供: 初心者エンジニアの簡易メモ
目次
文字列宣言
String Url = "http://example.com";
ログ記録
import android.util.Log; Log.i("tag1", "message1");
eclipseのウィンドウ/ビューの表示/LogCatで確認できる
アラート(android画面上に数秒表示
import android.widget.Toast; Toast.makeText(this, "テスト", Toast.LENGTH_LONG).show();
画面タッチイベント
import android.view.MotionEvent; import android.util.Log; @Override public boolean onTouchEvent(MotionEvent event) { String action = ""; switch (event.getAction()) { case MotionEvent.ACTION_DOWN: action = "ACTION_DOWN"; break; case MotionEvent.ACTION_UP: action = "ACTION_UP"; break; case MotionEvent.ACTION_MOVE: action = "ACTION_MOVE"; break; case MotionEvent.ACTION_CANCEL: action = "ACTION_CANCEL"; break; } Log.v("MotionEvent", "action = " + action + ", " + "x = " + String.valueOf(event.getX()) + ", " + "y = " + String.valueOf(event.getY())); return super.onTouchEvent(event); }
画像縦横幅取得
Bitmap bitmap1; bitmap1 = BitmapFactory.decodeResource(getResources(), R.drawable.image1); bitmap1.getWidth(); bitmap1.getHeight();
SDカードファイルリスト取得
import android.os.Environment; String sdPath = Environment.getExternalStorageDirectory().getAbsolutePath(); private void _getFiles(String dirPath){ // 選択ボックスで表示するファイル名のリストを作成 File dir = new File(dirPath); final File[] files = dir.listFiles(); for (int i = 0; i < files.length; i++) { Log.i("filepath", dirPath + "/" + files[i].getName()); if (files[i].isDirectory()) { // _getFiles(dir + "/" + files[i].getName()); } } }
sdカード内の画像をbitmapへ格納
import android.os.Environment; String sdPath = Environment.getExternalStorageDirectory().getAbsolutePath(); Bitmap bitmap1; bitmap1 = BitmapFactory.decodeFile(sdPath+"/download/20120119153250-180x300.jpg");
アイコンサイズ
drawable-hdpiに72×72のic_launcher.png
drawable-mdpiに48×48のic_launcher.png
drawable-ldpiに36×36のic_launcher.png
drawable-xdpiに96×96のic_launcher.png
文字表示
res/layout/values/strings.xml
<string name="app_name">app_sample</string>
javaコードに埋める場合
String s = getResources().getString(R.string.app_name);
xmlに埋める場合
android:label="@string/app_name"
色設定
res/values/color.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="bgcolor">#dddddd</color> </resources>
main.xml
android:background="@color/bgcolor"
配列設定
res/values/array.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <array name="testint"> <item>10</item> <item>20</item> </array> <array name="teststr"> <item>"hoge"</item> <item>"huga"</item> </array> </resources>
整数
getResources().getIntArray(R.array.testint);
文字列配列
getResources().getStringArray(R.array.teststr);
テキストを貼り付ける
import android.widget.TextView; TextView _tv = new TextView(this); _tv.setText("hoge"); _tv.append("huga"); _tv.setTextColor(Color.GRAY); setContentView(_tv);
フッターメニュー追加
res/menu/menu.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/item1" android:title="btn1" android:icon="@android:drawable/ic_menu_edit" ></item> <item android:id="@+id/item1" android:title="btn2" android:icon="@android:drawable/ic_menu_add" ></item> <item android:id="@+id/item1" android:title="btn3" android:icon="@android:drawable/ic_menu_camera" ></item> <item android:id="@+id/item1" android:title="btn4" android:icon="@android:drawable/ic_menu_save" ></item> <item android:id="@+id/item1" android:title="btn5" android:icon="@android:drawable/ic_menu_more" ></item> <item android:id="@+id/item1" android:title="btn6" android:icon="@android:drawable/ic_menu_call" ></item> </menu>
Activityクラスに追加
import android.view.Menu; public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.menu, menu); return true; }
6個以上作るとその他ボタンに内包される
GPS取得
AndroidManifest.xml
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"></uses-permission>
Activity
import android.location.Criteria; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.widget.Toast;
途中
5秒程度メッセージを出す
import android.widget.Toast; Toast.makeText(this, "button01 Click!", Toast.LENGTH_LONG).show();
無名関数の中でactivityを取得
HogeActivityのhogeプロパティを取得する例
Log.d("test", HogeActivity.this.hoge);
クラス判定
context変数がActivityクラスか確認。
if (!(context instanceof Activity)) { }