Android小结

1、设置activity无标题,全屏

// 设置为无标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 设置为全屏模式
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

2、获得屏幕高度和宽度

//获取屏幕的高度和宽度用到WindowManager这个类
WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);

int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();

3、获取手机各种信息

TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);

String imei = tm.getDeviceId();//移动设备国际辨识码
String imsi = tm.getSubscriberId();//国际移动用户识别码
String tel = tm.getLine1Number();//电话号码

String model =  android.os.Build.MODEL;//手机型号
String sdk = android.os.Build.VERSION.SDK;//SDK版本
String release = android.os.Build.VERSION.RELEASE;//系统版本

//根据IMSI号码识别移动供应商
public String getProvidersName(String IMSI) {
    String ProvidersName = null;
    // IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。
    if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) {
        ProvidersName = "中国移动";
    } else if (IMSI.startsWith("46001")) {
        ProvidersName = "中国联通";
    } else if (IMSI.startsWith("46003")) {
        ProvidersName = "中国电信";
    }
    return ProvidersName;
}

4、使用Toast输出一个字符串

public void showToast(String text){
    Toast.makeText(this, text, Toast.LENGTH_SHORT).show();
}

5、把一个字符串写进文件

//把一个字符串写进文件
public void writeFile(String str,String path){
    File file;
    FileOutputStream out;
    try{
        //创建文件
        file = new File(path);
        file.createNewFile();
        //打开文件file的输出流
        out = new FileOutputStream(file);
        //将字符串转换成byte数组写入文件
        out.write(str.getBytes());
        out.close();
    }catch(IOException e){

    }
}

6、把文件内容读出到字符串

//把文件内容读出到字符串
public String getFileInfo(String path){
    File file;
    String str = "";
    FileInputStream in;
    try{
        //打开文件的inputStream
        file  new File(path);
        in = new FileInputStream(file);
        //将文件内容读入byte数组
        int length = (int)file.length();
        byte [] temp = new byte[length];
        in.read(temp,0,length);
        str = EncodingUtils.getString(temp, "utf-8");
        in.close();
    }catch(IOException e){

    }
    return str;
}

7、程序的安装,卸载,更新

//调出系统安装应用
String fileName = Environment.getExternalStorageDirectory() + apkName;
Uri uri = Uri.fromFile(new File(fileName));
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "application/vnd.android.package-archive");
this.startActivity(intent);

//调出系统卸载应用
Uri packageURI = Uri.parse("package: your.app.id");
Intent intent = new Intent(Intent.ACTION_DELETE,packageURI);
startActivity(intent);

8、实现点击两次返回键退出

//第一步,定义一个变量,用于标识是否退出

boolean isExit;

//第二步,重写Activity中onKeyDown方法

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        exit();
        return false;
    } else {
        return super.onKeyDown(keyCode, event);
    }
}

//第三步,写一个退出方法
public void exit(){
    if (!isExit) {
        isExit = true;
        Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
        mHandler.sendEmptyMessageDelayed(0, 2000);
    } else {
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_HOME);
        startActivity(intent);
        System.exit(0);
    }
}

//第四步,根据exit()方法中的的消息,写一个Handler
Handler mHandler = new Handler() {

    @Override
    public void handleMessage(Message msg) {
        // TODO Auto-generated method stub
        super.handleMessage(msg);
        isExit = false;
    }

};

时间: 2024-10-10 00:27:30

Android小结的相关文章

VLC——Android小结(1)----编译

写这个还是主要还是为了对自己近期的工作做一些总结,希望可以把自己对vlc理解都总结下来. 1)准备编译环境 下载ndk和sdk,设置环境变量 export ANDROID_SDK=/path/to/android-sdk Set $ANDROID_NDK to point to your Android NDK directory export ANDROID_NDK=/path/to/android-ndk Add some useful binaries to your $PATH expo

Android小结(各种系统信息,界面等获取方法)

1.设置activity无标题,全屏 // 设置为无标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); // 设置为全屏模式 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 2.获得屏幕高度和宽度 //获取屏幕的高度和宽度用到WindowManager这个类 WindowMan

Android 常用开源框架源码解析 系列 (九)dagger2 呆哥兔 依赖注入库

一.前言 依赖注入定义 目标类中所依赖的其他的类的初始化过程,不是通过手动编码的方式创建的. 是将其他的类已经初始化好的实例自动注入的目标类中. "依赖注入"也是面向对象编程的 设计模式 -----组合的配套使用 作用 :降低程序的耦合,耦合就是因为类之间的依赖关系所引起的 产生场景:在一个对象里去创建另一个对象的实例 问题:过多的类,对象之间的依赖会造成代码难以维护. 不符合开闭原则的对象的引用写法:错误示例: public class ClassA { classB b ; pub

Android基础入门教程——8.1.3 Android中的13种Drawable小结 Part 3

Android基础入门教程--8.1.3 Android中的13种Drawable小结 Part 3 标签(空格分隔): Android基础入门教程 本节引言: 本节我们来把剩下的四种Drawable也学完,他们分别是: LayerDrawable,TransitionDrawable,LevelListDrawable和StateListDrawable, 依旧贴下13种Drawable的导图: 1.LayerDrawable 层图形对象,包含一个Drawable数组,然后按照数组对应的顺序来

Android基础入门教程——8.1.2 Android中的13种Drawable小结 Part 2

Android基础入门教程--8.1.2 Android中的13种Drawable小结 Part 2 标签(空格分隔): Android基础入门教程 本节引言: 本节我们继续来学习Android中的Drawable资源,上一节我们学习了: ColorDrawable:NinePatchDrawable: ShapeDrawable:GradientDrawable!这四个Drawable~ 而本节我们继续来学习接下来的五个Drawable,他们分别是: BitmapDrawable:Insert

window7下 cocos2dx android交叉编译环境部署小结

上周被android交叉编译搞惨了,还好最后弄好了,写个小结以后备用吧. 步骤,1.下载cygwin的devel和shells模块 2. 2.设置环境变量 a.设置NDK_ROOT b.设置Path 编辑Path,在后面追加4个环境变量,以;号隔开(别忘了给前面的加上;),4个分别是android的sdk的platform-tools,android的sdk的tools,   cygwin的bin,上面添加的NDK_ROOT C:\Work\adt-bundle-windows-x86_64-2

Android基础入门教程——8.1.1 Android中的13种Drawable小结 Part 1

Android基础入门教程--8.1.1 Android中的13种Drawable小结 Part 1 标签(空格分隔): Android基础入门教程 本节引言: 从本节开始我们来学习Android中绘图与动画中的一些基础知识,为我们进阶部分的自定义 打下基础!而第一节我们来扣下Android中的Drawable!Android中给我们提供了多达13种的 Drawable,本节我们就来一个个撸一遍! Drawable资源使用注意事项 Drawable分为两种: 一种是我们普通的图片资源,在Andr

android app 程序设计思路小结

android app 程序设计思路小结 一.model设计与实现 建立业务POJO,比如user public class User{ private int userId; private String userName; public User(int userId, String userName){ this.userId = userId; this.userName = userName; } public void setUserId(int userId){ this.user

Android适配方案小结(三)

在Android适配方案小结(一).(二)中,我们了解了一些基本概念. 那么在具体开发中,我们应该注意什么呢. 首先,我们必须要知道,其实适配的关键在于两点: (1)不同分辨率设备的适配,这点在单位的使用上用dp.sp以及图片资源存放于不同的drawable文件夹就可以解决问题: (2)不同尺寸的适配,这点主要靠将相关值以及布局文件放置于不同的文件夹中来解决. 2.1 values文件夹 可以在工程下创建不同的values文件夹:values-sw480dp, values-sw600dp, v