找回密码
 创建账号

QQ登录

只需一步,快速开始

查看: 5495|回复: 14

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

[复制链接]
  • TA的每日心情
    开心
    2024-4-17 14:57
  • 签到天数: 1207 天

    连续签到: 1 天

    [LV.10]茨木童子

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

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

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

    ×
    因为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 | 显示全部楼层
    太崇拜了   
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-24 22:49
  • 签到天数: 291 天

    连续签到: 1 天

    [LV.8]荒川之主

    发表于 2016-3-25 22:35:25 | 显示全部楼层
    可以试试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 | 显示全部楼层
    崇拜楼主,这么努力,哪时候推荐几本基础的书呗
    回复

    使用道具 举报

  • 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 | 显示全部楼层
    感谢大佬分享资料
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-8-14 21:54
  • 签到天数: 403 天

    连续签到: 1 天

    [LV.9]青行灯

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

    使用道具 举报

  • TA的每日心情

    2018-10-6 00:31
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]灯篭鬼

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

    使用道具 举报

  • TA的每日心情
    郁闷
    2023-9-8 22:34
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]三尾狐

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

    使用道具 举报

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

    本版积分规则

    Archiver|手机版|小黑屋|iYa.App 软件交流社区

    GMT+8, 2024-4-25 01:50 , Processed in 0.082169 second(s), 22 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表