Android開発に有用なコード蓄積
4259 ワード
Androidの開発需要の変化は速く、開発サイクルの要求はできるだけ短く、次の一連の文章は実際の使用からよく使われるコードの断片をまとめ、検索しやすく、後の人に参考を提供します.
1.Manifestの基本情報を取得します(アップグレードページとソフトウェアはページについて一般的に使用されます).
2.携帯電話の画面パラメータを取得する(画面の適合は重要で、結局Android携帯電話の画面の種類が多すぎる)
public static int dip2px(float dp) { return (int) (dp * scale + 0.5f); }
public static int px2dip(float px) { return (int) (px/scale + 0.5f); }
後で専門的に文章で私の異なるスクリーンに適した心得を紹介して、今日はまず上のコードを紹介します.
3.ソフトキーボードを隠す
4.APKをインストールする(例えば、アップグレードソフトウェアをダウンロードした場合、古いバージョンに置き換える必要がある)
5.TextViewの文字サイズの設定
TextViewがgetTextSize()で返す値はpx、setTextSize()はspなので、getTextSize()で取得した値をそのまま設定することは一般的にはできません.setTextSize()の単位を指定できます.
TypedValue.COMPLEX_UNIT_PX : PX
TypedValue.COMPLEX_UNIT_SP : SP
TypedValue.COMPLEX_UNIT_DIP : DIP
次のように使用できます.
6.携帯電話の振動機能
manifestファイルでは、の権限を追加する必要があります.以上の操作で、Myvibratorで定義した関数を使用することができます.2つのVibrate関数のパラメータについて簡単に説明します.
final Activity activity:メソッドを呼び出すActivityインスタンスlong milliseconds:振動の時間、単位はミリ秒
long[]pattern:カスタム振動モード.配列中の数字の意味は「静止時間長、振動時間長、静止時間長、振動時間長..」の順です.時間の単位はミリ秒です
boolean isRepeat:振動を繰り返すかどうか、trueなら振動を繰り返す、falseなら一度だけ振動する
7.ソフトキーボードのイジェクトでレイアウト全体を押し上げない
manifestファイルに対応するactivityでの設定:android:windowSoftInputMode=「adjustPan」プロパティ
8.Activityを横または縦に設定
manifestファイルに対応するactivityで設定:android:screenOrientation=「portrait」(縦画面、landscapeは横画面)
1.Manifestの基本情報を取得します(アップグレードページとソフトウェアはページについて一般的に使用されます).
Context mContext = XXXApplication.getInstance().getApplicationContext(); // Application Context , Activity Context, Application
packageName = mContext.getPackageName(); // , manifest package
PackageInfo info = mContext.getPackageManager().getPackageInfo(
mContext.getPackageName(), 0); //
String versionName = info.versionName;
int versionCode = info.versionCode;
2.携帯電話の画面パラメータを取得する(画面の適合は重要で、結局Android携帯電話の画面の種類が多すぎる)
Resources resources = XXXApplication.getInstance().getResources();
float scale = resources.getDisplayMetrics().density;// , px dp
float scaledDensity = resources.getDisplayMetrics().scaledDensity;
float disPlayWidth = resources.getDisplayMetrics().widthPixels;
float disPlayHeight = resources.getDisplayMetrics().heightPixels;
public static int dip2px(float dp) { return (int) (dp * scale + 0.5f); }
public static int px2dip(float px) { return (int) (px/scale + 0.5f); }
後で専門的に文章で私の異なるスクリーンに適した心得を紹介して、今日はまず上のコードを紹介します.
3.ソフトキーボードを隠す
InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
// EditText , Activity ,
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
4.APKをインストールする(例えば、アップグレードソフトウェアをダウンロードした場合、古いバージョンに置き換える必要がある)
File apkfile = new File(apkFilePath);
if (!apkfile.exists()) {
return;
}
Intent i = new Intent(Intent.ACTION_VIEW);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setDataAndType(Uri.parse("file://" + apkfile.toString()), "application/vnd.android.package-archive");
mContext.startActivity(i);
5.TextViewの文字サイズの設定
TextViewがgetTextSize()で返す値はpx、setTextSize()はspなので、getTextSize()で取得した値をそのまま設定することは一般的にはできません.setTextSize()の単位を指定できます.
TypedValue.COMPLEX_UNIT_PX : PX
TypedValue.COMPLEX_UNIT_SP : SP
TypedValue.COMPLEX_UNIT_DIP : DIP
次のように使用できます.
mTextView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.text_size)); // getDimension ,
6.携帯電話の振動機能
import android.app.Activity;
import android.app.Service;
import android.os.Vibrator;
public class Myvibrator {
public static void Vibrate(final Activity activity, long milliseconds) {
Vibrator vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE);
vib.vibrate(milliseconds);
}
public static void Vibrate(final Activity activity, long[] pattern,boolean isRepeat) {
Vibrator vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE);
vib.vibrate(pattern, isRepeat ? 1 : -1);
}
}
manifestファイルでは、
final Activity activity:メソッドを呼び出すActivityインスタンスlong milliseconds:振動の時間、単位はミリ秒
long[]pattern:カスタム振動モード.配列中の数字の意味は「静止時間長、振動時間長、静止時間長、振動時間長..」の順です.時間の単位はミリ秒です
boolean isRepeat:振動を繰り返すかどうか、trueなら振動を繰り返す、falseなら一度だけ振動する
7.ソフトキーボードのイジェクトでレイアウト全体を押し上げない
manifestファイルに対応するactivityでの設定:android:windowSoftInputMode=「adjustPan」プロパティ
8.Activityを横または縦に設定
manifestファイルに対応するactivityで設定:android:screenOrientation=「portrait」(縦画面、landscapeは横画面)