admin 发表于 2016-3-23 17:18:09

我的Android学习笔记(2)

因为Java和Android调用API方式都是面向对象的,所以很多东西特别难记忆,我整理在这里,希望大家少走弯路,也方便自己查阅~

本文由Lance.Moe原创,多数内容属于主观见解,难免有错漏之处,欢迎跟帖回复指出我的错误,大家共同学习~https://bbs.ntrqq.net/static/image/smiley/paopao/35.pnghttps://bbs.ntrqq.net/static/image/smiley/paopao/10.png

1.Toast弹出气泡的使用
Toast.makeText(getApplicationContext(),"这是弹出的内容,推荐字符串使用R文件定义的",Toast.LENGTH_LONG).show();前两个参数没啥好说,第三个参数可以填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.文件读写(保存在内部储存)
文件保存的实现代码:
      String filename = "lancemoe.txt"; //指定文件
      String context = "安卓学习很艰辛~"; //指定文件内容
      FileOutputStream outStream = context1.openFileOutput(filename,Context.MODE_PRIVATE);
      outStream.write(context.getBytes());
      outStream.close();Context.MODE_PRIVATE这个参数可以换成其他的,比如MODE_APPEND是文件尾追加模式。

文件读取的实现代码:
    public String read(String filename) throws Exception {
      FileInputStream inStream = context1.openFileInput(filename); //打开文件流
      ByteArrayOutputStream outStream = new ByteArrayOutputStream(); //内存缓冲区
      byte[] buff1 = new byte; //缓冲区
      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");
今天就先写这么多~下期再见#pao47##pao12#


沐玛 发表于 2016-3-23 17:31:59

完全看不懂的说,不过还是感谢分享~

BROBIRD 发表于 2016-3-23 21:22:07

#pao12##pao12##pao12##pao12##pao12#

bfchengnuo 发表于 2016-3-25 12:55:41

太崇拜了   

Sealt 发表于 2016-3-25 22:35:25

可以试试MarkDown
作业部落有一款不错

陌生人 发表于 2016-3-26 00:56:15

安卓开发学习有半年了,共勉。

瑞惟 发表于 2018-7-11 08:19:45

It's quite easy and comprehensive as c# is. I hope next time we can exchange our experience together!

和泉纱雾 发表于 2018-7-13 01:25:07

您啥时候做安卓版的呢
其实ntrQQ做安卓版也可以考虑显ip那就牛皮了
不过难度蛮大的,可以考虑用MT管理器试试水

ifrvhs 发表于 2018-7-13 09:31:03

崇拜楼主,这么努力,哪时候推荐几本基础的书呗

光亮乐趣窝 发表于 2018-7-26 10:13:57

#pao12#可以            

hu16839007 发表于 2018-8-24 16:36:54

感谢大佬分享资料

gongyuchang 发表于 2018-8-27 09:49:32

看得头晕了

Poimiao 发表于 2018-8-27 18:49:10

#pao12#我完全记不住代码#pao10#现用现查

fuker 发表于 2018-8-28 12:04:45

#pao22##pao12##pao11##pao11#

什么都没有 发表于 2018-8-28 12:10:15

都是大佬啊
页: [1]
查看完整版本: 我的Android学习笔记(2)