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);
