查看: 9471|回复: 14

[原创文章] 我的Android学习笔记(2)

[复制链接]
TA的每日心情
难过3 天前

签到天数: 1268 天

连续签到: 1 天

[LV.10]茨木童子

发表于 2016-3-23 17:18:09 | 显示全部楼层 |阅读模式 admin

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?创建账号

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

本文由Lance.Moe原创,多数内容属于主观见解,难免有错漏之处,欢迎跟帖回复指出我的错误,大家共同学习~

1.Toast弹出气泡的使用

  1. Toast.makeText(getApplicationContext(),"这是弹出的内容,推荐字符串使用R文件定义的",Toast.LENGTH_LONG).show();
复制代码
前两个参数没啥好说,第三个参数可以填Toast里提供的一些常数,LENGTH_LONG存活时间比较长,另外要注意的就是不要忘记show()出来~

2.短信发送

实现代码:
  1.             String number = "10086"; //指定收件人号码
  2.             String msg = "移动你好!"; //信息内容
  3.             SmsManager smsmanager1 = SmsManager.getDefault(); //新建短信类
  4.             ArrayList<String> msgArray = smsmanager1.divideMessage(msg);  //自动拆分短信内容,分条发送,因为短信字数有上限,下面就用for挨个发送
  5.             for (String text : msgArray) {
  6.                 smsmanager1.sendTextMessage(number,null,text,null,null);
  7.             }
复制代码

另外,在AndroidManifest.xml内,要声明下发送短信的权限,否则程序是不能正常运行的:
  1. <uses-permission android:name="android.permission.SEND_SMS" />
复制代码

3.电话拨打
首先我们先声明拨打电话的权限:
  1. <uses-permission android:name="android.permission.CALL_PHONE" />
复制代码
实现代码:
  1.                 String mobileNum = "10086"; //指定播出号码
  2.                 Intent intent1 = new Intent(); //新建意图类
  3.                 intent1.setAction("android.intent.action.CALL"); //指定动作为电话
  4.                 //intent1.addCategory("android.intent.category.DEFAULT"); //这句不写默认就已经声明过DEFAULT
  5.                 intent1.setData(Uri.parse("tel:" + mobileNum)); //将号码填入意图
  6.                 startActivity(intent1); //执行意图
复制代码



4.文件读写(保存在内部储存)

文件保存的实现代码:
  1.         String filename = "lancemoe.txt"; //指定文件
  2.         String context = "安卓学习很艰辛~"; //指定文件内容
  3.         FileOutputStream outStream = context1.openFileOutput(filename,Context.MODE_PRIVATE);
  4.         outStream.write(context.getBytes());
  5.         outStream.close();
复制代码
Context.MODE_PRIVATE这个参数可以换成其他的,比如MODE_APPEND是文件尾追加模式。

文件读取的实现代码:
  1.     public String read(String filename) throws Exception {
  2.         FileInputStream inStream = context1.openFileInput(filename); //打开文件流
  3.         ByteArrayOutputStream outStream = new ByteArrayOutputStream(); //内存缓冲区
  4.         byte[] buff1 = new byte[1024]; //缓冲区
  5.         int len = 0;
  6.         while((len = inStream.read(buff1)) != -1){
  7.             outStream.write(buff1,0,len); //写入内存缓冲
  8.         }
  9.         byte[] data1 = outStream.toByteArray(); //读取内存缓冲
  10.         inStream.close();
  11.         return new String(data1); //转换为字符串
  12.     }
复制代码

5.文件读写(保存在外部储存)

外部储存读写需要声明权限:
  1.     <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
  2.     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
复制代码
文件保存的实现代码:
  1.         String filename = "lancemoe.txt"; //指定文件
  2.         String context = "安卓学习很艰辛~"; //指定文件内容
  3.         File file = new File(Environment.getExternalStorageDirectory(),filename); //获取SD卡
  4.         FileOutputStream outStream = new FileOutputStream(file);
  5.         outStream.write(context.getBytes());
  6.         outStream.close();
复制代码
读取同理~
Environment.getExternalStorageDirectory()是获取外部储存路径的API,最好不要写类似于"mnt/sdcard"这种绝对路径。

6.读取assets路径下的资源
此方法适用于AndroidStudio,注意assets文件夹应当与res同级。
  1. InputStream xml1 = this.getClass().getClassLoader().getResourceAsStream("assets/lance.xml");
复制代码

今天就先写这么多~下期再见


TA的每日心情
奋斗2018-6-29 12:25

签到天数: 992 天

连续签到: 1 天

[LV.10]茨木童子

发表于 2016-3-23 17:31:59 | 显示全部楼层 沐玛
完全看不懂的说,不过还是感谢分享~
回复 顶 踩

使用道具 举报

TA的每日心情
擦汗2016-3-25 12:37

签到天数: 20 天

连续签到: 1 天

[LV.4]提灯小僧

发表于 2016-3-25 12:55:41 | 显示全部楼层 bfchengnuo
太崇拜了   
回复 顶 踩

使用道具 举报

TA的每日心情
奋斗2022-7-24 22:49

签到天数: 291 天

连续签到: 1 天

[LV.8]荒川之主

发表于 2016-3-25 22:35:25 | 显示全部楼层 Sealt
可以试试MarkDown
作业部落有一款不错
回复 顶 踩

使用道具 举报

TA的每日心情
奋斗2019-6-6 18:43

签到天数: 279 天

连续签到: 1 天

[LV.8]荒川之主

发表于 2016-3-26 00:56:15 | 显示全部楼层 陌生人
安卓开发学习有半年了,共勉。
回复 顶 踩

使用道具 举报

TA的每日心情
开心2021-9-26 14:15

签到天数: 41 天

连续签到: 1 天

[LV.5]三尾狐

发表于 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!
回复 顶 踩

使用道具 举报

TA的每日心情
开心2023-9-16 15:05

签到天数: 18 天

连续签到: 1 天

[LV.4]提灯小僧

发表于 2018-7-13 01:25:07 | 显示全部楼层 和泉纱雾
您啥时候做安卓版的呢
其实ntrQQ做安卓版也可以考虑显ip那就牛皮了
不过难度蛮大的,可以考虑用MT管理器试试水
回复 顶 踩

使用道具 举报

TA的每日心情
开心2019-3-2 19:39

签到天数: 15 天

连续签到: 1 天

[LV.4]提灯小僧

发表于 2018-7-13 09:31:03 | 显示全部楼层 ifrvhs
崇拜楼主,这么努力,哪时候推荐几本基础的书呗
回复 顶 踩

使用道具 举报

TA的每日心情
衰2018-8-15 10:33

签到天数: 7 天

连续签到: 1 天

[LV.3]灯篭鬼

发表于 2018-7-26 10:13:57 | 显示全部楼层 光亮乐趣窝
可以            
回复 顶 踩

使用道具 举报

TA的每日心情
开心2019-6-5 19:11

签到天数: 4 天

连续签到: 1 天

[LV.2]天邪鬼

发表于 2018-8-24 16:36:54 | 显示全部楼层 hu16839007
感谢大佬分享资料
回复 顶 踩

使用道具 举报

TA的每日心情
开心2022-8-14 21:54

签到天数: 403 天

连续签到: 1 天

[LV.9]青行灯

发表于 2018-8-27 09:49:32 | 显示全部楼层 gongyuchang
看得头晕了
回复 顶 踩

使用道具 举报

TA的每日心情
衰2018-10-6 00:31

签到天数: 11 天

连续签到: 1 天

[LV.3]灯篭鬼

发表于 2018-8-27 18:49:10 | 显示全部楼层 Poimiao
我完全记不住代码现用现查
回复 顶 踩

使用道具 举报

TA的每日心情
衰2025-4-27 23:00

签到天数: 40 天

连续签到: 1 天

[LV.5]三尾狐

发表于 2018-8-28 12:10:15 | 显示全部楼层 什么都没有
都是大佬啊
回复 顶 踩

使用道具 举报

您需要登录后才可以回帖 登录 | 创建账号

本版积分规则

Powered by Discuz! X5.0 © 2012-2026 iYa.App.

在本版发帖返回顶部