码迷,mamicode.com
首页 > 移动开发 > 详细

安卓基础应用项目开发Api总结1

时间:2015-06-27 19:40:44      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

 

Splash界面的作用

  打开应用Splash界面连接网络检查版本.

  

获得包管理器,通过包管理器获得版本信息

 

 1     // 获取自己的版本信息
 2         PackageManager pm = getPackageManager();
 3         try {
 4             PackageInfo packageInfo = pm.getPackageInfo(getPackageName(), 0);//获得本应用信息
 5             // 版本号
 6             versionCode = packageInfo.versionCode;
 7             // 版本名
 8             versionName = packageInfo.versionName;
 9 
10             // 设置textview
11             tv_versionName.setText(versionName);
12         } catch (NameNotFoundException e) {
13             // can not reach 使用Api获得应用这个异常不会发生
14         }

 

 

 

 

安装应用

 1     protected void installApk() {
 2         /*
 3          * <intent-filter> <action android:name="android.intent.action.VIEW" />
 4          * <category android:name="android.intent.category.DEFAULT" /> <data
 5          * android:scheme="content" /> <data android:scheme="file" /> <data
 6          * android:mimeType="application/vnd.android.package-archive" />
 7          * </intent-filter>
 8          */
 9         Intent intent = new Intent("android.intent.action.VIEW");
10         intent.addCategory("android.intent.category.DEFAULT");
11         String type = "application/vnd.android.package-archive";
12         Uri data = Uri.fromFile(new File("/mnt/sdcard/xx.apk"));
13         intent.setDataAndType(data, type);
14         startActivityForResult(intent, 0);
15 
16     }

 

  手势识别器

  

 1     private void initGesture() {
 2         //初始化手势识别器,要想手势识别器生效,绑定onTouch事件
 3         gd = new GestureDetector(new OnGestureListener() {
 4             
 5             //覆盖此方法完成手势的切换效果
 6             /**
 7              * e1,按下的点
 8              * e2 松开屏幕的点
 9              * velocityX x轴方向的速度
10              * velocityY y轴方向的速度
11              */
12             @Override
13             public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
14                     float velocityY) {
15                 // TODO Auto-generated method stub
16                 //x轴方向的速度是否满足横向滑动的条件 pix/s
17                 if (velocityX > 200) { //速度大于400像素每秒
18                     //可以完成滑动
19                     float dx = e2.getX() - e1.getX();//x轴方向滑动的间距
20                     if (Math.abs(dx) < 100) {
21                         return true;//如果间距不符合直接无效
22                     }
23                     if (dx < 0 ){//从右往左滑动
24                         next(null);//不是组件的事件调用
25                     }  else {//从左往右滑动
26                         prev(null);
27                     }
28                 }
29                 return true;
30             }
31 ......还有很多个方法

 

SIM卡绑定

1                         TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
2                         //sim卡信息
3                         String simSerialNumber = tm.getSimSerialNumber();

 

 

assets资产目录数据库拷贝

    private void copyDB(final String dbName) {
        new Thread() {
            public void run() {
                // 判断文件是否存在,如果存在不需要拷贝
                File file = new File("/data/data/" + getPackageName()
                        + "/files/" + dbName);
                if (file.exists()) {// 文件存在
                    return;
                }
                // 文件的拷贝
                try {
                    filecopy(dbName);
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            };
        }.start();
    }

 

 

判断服务是否在运行

    public static boolean isServiceRunning(Context context,String serviceName){
        boolean isRunning = false;
        
        //判断运行中的服务状态,ActivityManager
        ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        //获取android手机中运行的所有服务
        List<RunningServiceInfo> runningServices = am.getRunningServices(50);
        
        for (RunningServiceInfo runningServiceInfo : runningServices) {
            //System.out.println(runningServiceInfo.service.getClassName());
            //判断服务的名字是否包含我们指定的服务名
            if (runningServiceInfo.service.getClassName().equals(serviceName)){
                //名字一直,该服务在运行中 
                isRunning = true;
                //已经找到 退出循环
                break;
            }
        }
        return isRunning;
    }

 

开机接收广播

广播注册

        <receiver android:name="com.itheima62.mobileguard.receiver.BootReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" >
                </action>
            </intent-filter>
        </receiver>

 

安卓基础应用项目开发Api总结1

标签:

原文地址:http://www.cnblogs.com/linjiqian/p/4604384.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!