零碎知识点

转载:请标注:http://bbs.itheima.com/thread-46102-1-1.html

一、  获取系统版本号:
  1. PackageInfo info = this.getPackageManager().getPackageInfo(this.getPackageName(), 0); 

  2. int versionCode=nfo.versionCode 

  3. string versionName=info.versionNam
复制代码
二、获取系统信息:
  1. String archiveFilePath="sdcard/download/Law.apk";//安装包路径  

  2. PackageManager pm = getPackageManager();  

  3. PackageInfo info = pm.getPackageArchiveInfo(archiveFilePath, PackageManager.GET_ACTIVITIES);  

  4. if(info != null){  

  5. ApplicationInfo appInfo = info.applicationInfo;  

  6. String appName = pm.getApplicationLabel(appInfo).toString();  

  7. String packageName = appInfo.packageName; //得到安装包名称  

  8. String version=info.versionName; //得到版本信息   

  9. Toast.makeText(test4.this, "packageName:"+packageName+";version:"+version, Toast.LENGTH_LONG).show(); 

  10. Drawable icon = pm.getApplicationIcon(appInfo);//得到图标信息  

  11. TextView tv = (TextView)findViewById(R.id.tv); //显示图标  

  12. tv.setBackgroundDrawable(icon);
复制代码
三、获取安装路径和已安装程序列表
  1. (1)android中获取当前程序路径 

  2. getApplicationContext().getFilesDir().getAbsolutePath() 

  3. (2)android取已安装的程序列表 

  4. List<PackageInfo> packageInfoList = getPackageManager().getInstalledPackages(0);
复制代码
四、获取图片、应用名、包名
  1. PackageManager pManager = MessageSendActivity.this.getPackageManager();  

  2. List<PackageInfo> appList = Utils.getAllApps(MessageSendActivity.this);  

  3.      for(int i=0;i<appList.size();i++) {  

  4.          PackageInfo pinfo = appList.get(i);  

  5.          ShareItemInfo shareItem = new ShareItemInfo();  

  6.          //set Icon   

  7.          shareItem.setIcon(pManager.getApplicationIcon(pinfo.applicationInfo));
复制代码
解决listview上 Item上有按钮时 item本身不能点击的问题:
  1. 1. 在item试图上面添加代码: android:descendantFocusability="blocksDescendants" 

  2. 2.在listview里 添加代码 android:focusable="true"
复制代码
不让文本框输入中文:
  1. android:digits="1234567890qwertyuiopasdfghjklzxcvbnm`-=[]\;,./~!@#$%^*()_+}{:?&<>"'" 

  2. 这样就不会输入中文了。 
复制代码
获取屏幕宽高
  1. DisplayMetrics displayMetrics = new DisplayMetrics();  

  2. this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);  

  3. int height = displayMetrics.heightPixels;  

  4. int width = displayMetrics.widthPixels;
复制代码
程序中安装apk
  1. Intent intent = new Intent();            

  2.        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

  3.     intent.setAction(android.content.Intent.ACTION_VIEW); 

  4.     intent.setDataAndType(Uri.fromFile(“APK”),"application/vnd.android.package-archive"); 

  5.     startActivity(intent);
复制代码
获取设备型号、SDK版本及系统版本
  1. String device_model = Build.MODEL; // 设备型号    

  2. String version_sdk = Build.VERSION.SDK; // 设备SDK版本    

  3. String version_release = Build.VERSION.RELEASE; // 设备的系统版本
复制代码
当listview滑动到底部或者顶部,会出现金色动画,去掉的办法
  1. listView.setOverScrollMode(View.OVER_SCROLL_NEVER);
复制代码
获取应用程序下所有Activity
  1. public static ArrayList<String> getActivities(Context ctx) {

  2.      ArrayList<String> result = new ArrayList<String>();

  3.      Intent intent = new Intent(Intent.ACTION_MAIN, null);

  4.      intent.setPackage(ctx.getPackageName());

  5. for (ResolveInfo info : ctx.getPackageManager().queryIntentActivities(intent, 0)) {

  6.      result.add(info.activityInfo.name);

  7.      }

  8.      return result;

  9. }
复制代码
检测字符串中是否包含汉字
  1. public static boolean checkChinese(String sequence) {

  2.        final String format = "[\\u4E00-\\u9FA5\\uF900-\\uFA2D]";

  3.        boolean result = false;

  4.        Pattern pattern = Pattern.compile(format);

  5.        Matcher matcher = pattern.matcher(sequence);

  6.        result = matcher.find();

  7.        return result;

  8.    }
复制代码
检测字符串中只能包含:中文、数字、下划线(_)、横线(-)
  1. public static boolean checkNickname(String sequence) {

  2.        final String format = "[^\\u4E00-\\u9FA5\\uF900-\\uFA2D\\w-_]";

  3.        Pattern pattern = Pattern.compile(format);

  4.        Matcher matcher = pattern.matcher(sequence);

  5.        return !matcher.find();

  6.    }
复制代码



设置窗口格式为半透明
  1. getWindow().setFormat(PixelFormat.TRANSLUCENT);
复制代码
全屏显示窗口
  1. requestWindowFeature(Window.FEATURE_NO_TITLE);
  2. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
复制代码
调浏览器 载入网址
  1. Uri uri = Uri.parse("http://www.google.com");
  2. Intent it = new Intent(Intent.ACTION_VIEW, uri);
  3. startActivity(it);
复制代码
取得内存大小
  1. ActivityManager.MemoryInfo outInfo = new ActivityManager.MemoryInfo();
  2. activityManager.getMemoryInfo(outInfo);
  3. //可用内存
  4. outInfo.availMem
  5. //是否在低内存状态
  6. outInfo.lowMemory
复制代码
取得ScrollView的实际高度
  1. scrollview.getHeight()
  2. scrollview.getMeasuredHeight()
  3. scrollview.compute()
  4. scrollview.getLayoutParams().height
复制代码
取得IP地址
  1. A.
  2. //Connect via WIFI 通过wifi
  3. WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
  4. WifiInfo wifiInfo = wifiManager.getConnectionInfo();
  5. int ipAddress = wifiInfo.getIpAddress();
  6. B.
  7. //Connect via GPRS通过gprs
  8. public String getLocalIpAddress(){
  9. try{
  10. for(Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();){
  11. NetworkInterface intf = en.nextElement();
  12. for (Enumeration enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();){
  13. InetAddress inetAddress = enumIpAddr.nextElement();
  14. if (!inetAddress.isLoopbackAddress()){
  15. return inetAddress.getHostAddress().toString();
  16. }
  17. }
  18. }
  19. }catch (SocketException ex){
  20. Log.e(S.TAG, ex.toString());
  21. }
  22. return null;
  23. }
复制代码
图片旋转
  1. Bitmap bitmapOrg = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.moon);
  2. Matrix matrix = new Matrix();
  3. matrix.postRotate(-90);//旋转的角度

  4. Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,
  5.                     bitmapOrg.getWidth(), bitmapOrg.getHeight(), matrix, true);
  6. BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);
复制代码
获取手机号码
  1. //创建电话管理

  2. TelephonyManager tm = (TelephonyManager)

  3. //与手机建立连接
  4. activity.getSystemService(Context.TELEPHONY_SERVICE);

  5. //获取手机号码

  6. String phoneId = tm.getLine1Number();

  7. //记得在manifest file中添加
  8.     <uses-permission
  9. android:name="android.permission.READ_PHONE_STATE" />

  10. //程序在模拟器上无法实现,必须连接手机
复制代码
查看电池使用情况
  1. Intent intentBatteryUsage = new Intent(Intent.ACTION_POWER_USAGE_SUMMARY);        
  2. startActivity(intentBatteryUsage);
复制代码
android中添加新的联系人
  1. private Uri insertContact(Context context, String name, String phone) {
  2.            
  3.        ContentValues values = new ContentValues();
  4.        values.put(People.NAME, name);
  5.        Uri uri = getContentResolver().insert(People.CONTENT_URI, values);
  6.        Uri numberUri = Uri.withAppendedPath(uri, People.Phones.CONTENT_DIRECTORY);
  7.        values.clear();
  8.        
  9.        values.put(Contacts.Phones.TYPE, People.Phones.TYPE_MOBILE);
  10.        values.put(People.NUMBER, phone);
  11.        getContentResolver().insert(numberUri, values);
  12.        
  13.        return uri;
  14. }
复制代码
android获取存储卡路径以及使用情况
  1. /** 获取存储卡路径 */ 
  2. File sdcardDir=Environment.getExternalStorageDirectory(); 
  3. /** StatFs 看文件系统空间使用情况 */ 
  4. StatFs statFs=new StatFs(sdcardDir.getPath()); 
  5. /** Block 的 size*/ 
  6. Long blockSize=statFs.getBlockSize(); 
  7. /** 总 Block 数量 */ 
  8. Long totalBlocks=statFs.getBlockCount(); 
  9. /** 已使用的 Block 数量 */ 
  10. Long availableBlocks=statFs.getAvailableBlocks();
复制代码
android中获取IP地址
  1. public String getLocalIpAddress() {
  2.     try {
  3.         for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); 
  4.                 en.hasMoreElements();) {
  5.             NetworkInterface intf = en.nextElement();
  6.             for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); 
  7.                 enumIpAddr.hasMoreElements();) {
  8.                 InetAddress inetAddress = enumIpAddr.nextElement();
  9.                 if (!inetAddress.isLoopbackAddress()) {
  10.                     return inetAddress.getHostAddress().toString();
  11.                 }
  12.             }
  13.         }
  14.     } catch (SocketException ex) {
  15.         Log.e(LOG_TAG, ex.toString());
  16.     }
  17.     return null;
  18. }
复制代码
android 获取设备唯一标识码
  1. String android_id = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID);
复制代码

发布了51 篇原创文章 · 获赞 35 · 访问量 20万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章