- 博客(25)
- 资源 (20)
- 收藏
- 关注
原创 Kotlin入门-函数
今天我们来学习Kotlin函数的基础知识Kotlin 除了变量声明外,函数的声明方式也和 Java 的方法不一样。Java 的方法method在 Kotlin 里叫函数function,其实没啥区别,或者说其中的区别我们可以忽略掉。对任何编程语言来讲,变量就是用来存储数据,而函数就是用来处理数据函数的声明我们先来看看 Java 里的方法是怎么写的://JavaFood cook(String name) { ...}而到了 Kotlin,函数的声明是这样://Kot
2020-06-07 18:12:05
251
原创 Kotlin入门-变量类型推断
今天我们来一起学习Kotlin中变量的使用Kotlin 有个很方便的地方是,如果你在声明的时候就赋值,那不写变量类型也行://Kotlinvar name: String = "Mike"var name = "Mike"这个特性叫做「类型推断」,它跟动态类型是不一样的,我们不能像使用 Groovy 或者 JavaScript 那样使用在 Kotlin 里这么写://K...
2020-04-28 10:23:57
666
原创 Kotlin入门-变量的声明与赋值
这篇开始我们一起学习基础语法我们回忆下 Java 里声明一个 View 类型的变量的写法://JavaView v;Kotlin 里声明一个变量的格式是这样的://Kotlinvar v: View这里有几处不同:有一个var关键字 类型和变量名位置互换了 中间是用冒号分隔的 结尾没有分号(对,Kotlin 里面不需要分号)看上去只是语法格式有些不同...
2020-04-26 14:24:02
3373
原创 Kotlin入门-如何创建一个Kotlin项目
在 Google I/O 2019 上,Google 宣布 Kotlin 成为 Android 的第一开发语言。这对于开发者来讲意味着,将来所有的官方示例会首选 Kotlin,并且 Google 对 Kotlin 在开发、构建等各个方面的支持也会更优先。在这个大环境下,Kotlin 已经作为很多公司的移动开发岗面试的考察点之一,甚至作为 HR 简历筛选的必要条件。因此,学会并掌握 Kotlin...
2020-04-24 15:53:54
774
原创 Android手电筒兼容各个手机与版本
在写手电筒APP之前,当然已经参考market上的很多手电筒APP,还有网上如何实现手电筒功能的各种源码。不管是源码还是market上的APP,总结了几点的问题。1.我下载market上的所有手电筒APP都是通过Camera打开闪光灯的方式来实现的,但是大部分APP在打开Camera时没有进行异常处理工作,也没有任何的提示,如果当其他的程序在使用Camera时,并且返回或点Home后没有释放C
2014-03-27 14:52:56
2442
原创 Android NDK基础编程入门
对于还不了解Android NDK作用和搭建的朋友,可以先参考下Android NDK作用与搭建,今天这篇文章是建立在已经搭建好Android NDK开发环境,来看看NDK编程 "Hello Jni"的实现。 首先Android NDK开发需要具备哪些基础知识?1.熟悉Android应用开发2.熟悉C语言(编写底层.so库需要用到)3.了解Linux(要知道一些常用的命令)
2014-03-20 15:28:53
1356
原创 Android之适配器模式
Adapter模式属于结构型设计模式设计思想: 将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作Adpater模式又分为如下2类:1.类的适配器模式,采用继承实现2.对象适配器模式,采用对象组合方式实现Adapter模式的类图结构:Adapter模式存在4种角色:1.目标抽象角色(Target):
2014-03-11 13:13:38
1360
原创 Android之观察者模式
在23种设计模式中,观察者模式属于行为型设计模式,Observer观察者模式: 定义对象间的一种一对多的依赖关系,当一个对象的状态发送改变时,所有依赖于它的对象都得到通知并被自动更新观察者模式的类图结构在观察者模式中存在以下几个角色1. Subject(被观察者)目标知道它的观察者,可以有任意多个观察者观察同一个目标提供注册和删除观察者对象的接口2. Observe
2014-03-06 16:58:56
1131
原创 Android小部件AppWidget
Android应用程序窗口小部件AppWidget是微小的应用程序视图,也是一种UI组件.它可以让一小块程序嵌入到Launcher中并且可以周期性的更新,由于AppWidget自动更新的特性,所以它比较适合用来设计一些天气,新闻,日历等功能下面来看看AppWidget做出来的效果图: 从效果图可以看到在"小部件"的内容中有谷歌自己的音乐,商店小部件,腾讯的小部件等等,其中MyWidge
2014-02-28 18:39:52
1713
原创 abstract抽象类与interface接口的区别
本人是从C++开发转到Android上的,虽说java和C++都是面向对象的,但还是有很大差别,刚开始接触abstract抽象类与interface接口时也只是知其然不知其所以然.所以在这里记录下学习的过程abstract抽象类:大家知道通过继承,可以从原有的类派生出新的类,原有的类称为基类或父类,而新的类则称为派生类或子类.通过这种机制,派生出的新的类不仅可以保留原有的类
2014-01-17 14:26:23
1326
原创 Android自定义按钮实现长按功能
要实现按钮长按的功能并不难,最简单的方法就是通过实现setOnTouchListener()方法,然后在里面处理对应的逻辑操作就行了.但是为了以后方便扩展,我自定义了按钮来专门处理长按功能,直接上代码MainActivity.javapackage huahua.btnlongtouch;import huahua.btnlongtouch.LongTouchBtn.LongTou
2013-12-31 11:39:37
6775
6
原创 Android加载器Loader使用
假设我们现在需要读取数据库中的联系人,如果联系人很多的话,我们必须将查询数据库的操作逻辑放在子线程中,不然会导致UI线程阻塞,然后再及时将查询到的数据告知显示界面让其刷新.其次,如果联系人数据库中数据变化了,我们还需要通过观察者模式的ContentObserver类中的onChange方法来监听相应的数据库改变,然后再重新查询,排序,刷新等等(这里不对ContentObserver内容观察者做
2013-11-27 16:38:53
2822
原创 Android抢先截获短信(附源码)
之前在写通讯录应用时,将整体的代码写完后,自测时发现非常非常多的问题,其中一个非常重要严重的就是可以发出短信,但收不到任何的短信息,这搞的我好捉鸡啊!后来调试发现是由于没有收到短信的消息导致的,然后将自己手机中的QQ通讯录尝试着卸载掉,这时就可以收到了.后来有时间了在网上查找相关资料,并且按照网上的理论编写了代码测试,解决了这个问题,在这里通过博客把解决的方法记录下来.首先要知道广
2013-11-15 15:56:20
4978
原创 ListView嵌套Viewpager实现左滑打电话,右滑发短信(附源码)
最近自己一直在写一个开源的通讯录项目,在实现的过程中参照了不少优秀通讯录的用户体验效果,比如现在很流行的左滑打电话,右滑发短信功能,先来看看实现后的效果图(在下载Android手机通讯录和Listview实现A-Z排序这篇样例代码上增加的)关于ListView的Item左右滑动实现的方式网上也有很多种,我这里用的是ListView嵌套Viewpager来实现的.下面说说思路和需要注意的地方
2013-11-04 17:34:39
4546
原创 下载Android手机通讯录和Listview实现A-Z排序(附源码)
博文实现的功能:从Android手机中得到通讯录联系人的数据,并且实现A-Z排序和搜索过滤以下是在本人手机中调试的效果图
2013-10-18 16:30:16
5177
原创 ViewPager+Fragment基本使用方法(附源码)
ViewPager+Fragment可以做出多页面滑动效果,让我们的应用程序界面操作起来更加灵活对于ViewPager和Fragment组件还不熟悉的朋友,可以先看看相关的资料首先在布局文件中加入ViewPager组件 <android.support.v4.view.ViewPager android:id="@+id/viewpager"
2013-10-17 11:07:52
5443
原创 Android中include和merge标签的使用(附源码)
在Android布局文件中,某些时候使用include标签会很多的好处1,对于稍微有点复杂的布局界面,将所有布局代码都写在一个xml文件中,界面会显得很冗余,可读性很差,这时可以分开使用include标签来处理2,当Activity需要用到同样的布局效果,也可以使用include标签处理,而不用把一样的布局代码重复拷贝几遍,不用以后修改起来每个地方都要修改,提高了代码的重用性
2013-10-15 19:35:26
1549
原创 Android进程间通信AIDL基本使用(附源码)
什么是AIDL?AIDL:Android Interface Definition Language,即Android接口定义语言。Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信。为了使其他的应用程序也可以访问本应用程序提供的服务,Android系统采用了远程过程调用(Remote Procedure Call,RPC)方式来实现。与很
2013-10-14 10:58:09
1065
原创 SharedPreferences基本使用(附源码)
除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它比SQlite使用起来更加的方便,当然它的功能也没有SQlite那么的强大,如果要存储一些简单的键值对数据可以采用此方法.实现SharedPreferences存储的步骤如下:1,通过上下文(Context)获取默认SharedPreferences对象mPreferences = Pre
2013-10-11 11:16:20
920
Android手电筒兼容各个手机与版本
2014-03-27
Android适配器模式设计思想
2014-03-11
Android观察者模式设计思想
2014-03-06
Android小部件AppWidget
2014-02-28
Android自定义按钮实现长按功能
2013-12-31
Android高仿QQ通讯录最终版
2013-12-12
Android仿QQ通讯录
2013-12-03
Android如何抢先接受到短信测试用例
2013-11-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人