facebook twitter hatena line email

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)) {
}