| 
UID1积分187852回帖0贡献 金钱 注册时间2012-7-14最后登录1970-1-1在线时间 小时 
 TA的每日心情|  | 擦汗 2025-5-26 22:45
 | 
|---|
 签到天数: 1220 天 连续签到: 1 天 [LV.10]茨木童子 | 
 
| 
因为Java和Android调用API方式都是面向对象的,所以很多东西特别难记忆,我整理在这里,希望大家少走弯路,也方便自己查阅~
×
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?创建账号 
  
 本文由Lance.Moe原创,多数内容属于主观见解,难免有错漏之处,欢迎跟帖回复指出我的错误,大家共同学习~
   
 1.Toast弹出气泡的使用
 
 前两个参数没啥好说,第三个参数可以填Toast里提供的一些常数,LENGTH_LONG存活时间比较长,另外要注意的就是不要忘记show()出来~复制代码Toast.makeText(getApplicationContext(),"这是弹出的内容,推荐字符串使用R文件定义的",Toast.LENGTH_LONG).show();
 2.短信发送
 实现代码:
 
 复制代码            String number = "10086"; //指定收件人号码
            String msg = "移动你好!"; //信息内容
            SmsManager smsmanager1 = SmsManager.getDefault(); //新建短信类
            ArrayList<String> msgArray = smsmanager1.divideMessage(msg);  //自动拆分短信内容,分条发送,因为短信字数有上限,下面就用for挨个发送
            for (String text : msgArray) {
                smsmanager1.sendTextMessage(number,null,text,null,null);
            }
另外,在AndroidManifest.xml内,要声明下发送短信的权限,否则程序是不能正常运行的:
 
 复制代码<uses-permission android:name="android.permission.SEND_SMS" />
3.电话拨打
 首先我们先声明拨打电话的权限:
 
 实现代码:复制代码<uses-permission android:name="android.permission.CALL_PHONE" />
 复制代码                String mobileNum = "10086"; //指定播出号码
                Intent intent1 = new Intent(); //新建意图类
                intent1.setAction("android.intent.action.CALL"); //指定动作为电话
                //intent1.addCategory("android.intent.category.DEFAULT"); //这句不写默认就已经声明过DEFAULT
                intent1.setData(Uri.parse("tel:" + mobileNum)); //将号码填入意图
                startActivity(intent1); //执行意图
 
 4.文件读写(保存在内部储存)
 文件保存的实现代码:
 
 Context.MODE_PRIVATE这个参数可以换成其他的,比如MODE_APPEND是文件尾追加模式。复制代码        String filename = "lancemoe.txt"; //指定文件
        String context = "安卓学习很艰辛~"; //指定文件内容
        FileOutputStream outStream = context1.openFileOutput(filename,Context.MODE_PRIVATE);
        outStream.write(context.getBytes());
        outStream.close();
 文件读取的实现代码:
 
 复制代码    public String read(String filename) throws Exception {
        FileInputStream inStream = context1.openFileInput(filename); //打开文件流
        ByteArrayOutputStream outStream = new ByteArrayOutputStream(); //内存缓冲区
        byte[] buff1 = new byte[1024]; //缓冲区
        int len = 0;
        while((len = inStream.read(buff1)) != -1){
            outStream.write(buff1,0,len); //写入内存缓冲
        }
        byte[] data1 = outStream.toByteArray(); //读取内存缓冲
        inStream.close();
        return new String(data1); //转换为字符串
    }
5.文件读写(保存在外部储存)
 外部储存读写需要声明权限:
 
 文件保存的实现代码:复制代码    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 读取同理~复制代码        String filename = "lancemoe.txt"; //指定文件
        String context = "安卓学习很艰辛~"; //指定文件内容
        File file = new File(Environment.getExternalStorageDirectory(),filename); //获取SD卡
        FileOutputStream outStream = new FileOutputStream(file);
        outStream.write(context.getBytes());
        outStream.close();
Environment.getExternalStorageDirectory()是获取外部储存路径的API,最好不要写类似于"mnt/sdcard"这种绝对路径。
 
 6.读取assets路径下的资源
 此方法适用于AndroidStudio,注意assets文件夹应当与res同级。
 
 复制代码InputStream xml1 = this.getClass().getClassLoader().getResourceAsStream("assets/lance.xml");
今天就先写这么多~下期再见
   
 
 
 | 
 |