Android開発に有用なコード蓄積

4259 ワード

Androidの開発需要の変化は速く、開発サイクルの要求はできるだけ短く、次の一連の文章は実際の使用からよく使われるコードの断片をまとめ、検索しやすく、後の人に参考を提供します.
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ファイルでは、の権限を追加する必要があります.以上の操作で、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は横画面)