Android
刘德利_Android
编程需要一种思想,写代码是艺术的体验,体会面向对象编程,面向接口编程,带来的智慧,体会写代码中的乐与怒,每当去学习一种设计模式就会发现自己多么渺小,发现OOP是多么强大。
展开
-
Android-AppUtils工具类
常用APP的工具类,包含版本号、版本名称、安装的应用程序ICONpublic class AppUtils { private AppUtils(){} /** * 设置状态栏的颜色 * @param activity * @param colorResId */ public static void setWindowSta...原创 2018-09-15 22:05:46 · 2384 阅读 · 0 评论 -
Androd Studio测试
测试的分类:在软件开发领域,程序员开发编码后,需要测试部门的测试,才可以发布软件版本,所以对测试的概念需要了解:黑盒测试:我的理解是,黑盒测试更多的是体力活,按照测试用例,在屏幕上不停的操作的方式来发现错误,黑盒测试看不到源代码;白盒测试:我的理解是,白盒测试的水平基本上比程序员要高,并且对代码逻辑性,对代码严谨性,对代码熟练程度,可见一斑,白盒测试可以看到源代码,能够分析源代码;前面部分的理论性知原创 2017-10-05 20:31:31 · 339 阅读 · 0 评论 -
Android Studio注释摸版配置
随意创建一个类,就会自动生成注释摸版:配置后的效果:以下步骤是配置过程:1.在创建类的过程中,对类进行自定义摸版,只需在 File—>Settins—>Editor—>File and code Template—>在File是里选择Class;清除Class里面的内容:2.添加自己需要的注释内容即可:{USER}: 表示你系统名字 {DATE}: 表示当前时间 {NAME}: 表示类名最后原创 2017-10-05 13:22:27 · 456 阅读 · 0 评论 -
Android Sms短信发送
界面布局:具体代码:private void sendSms() { // 获取电话号码和短信内容 String number = number1.getText().toString(); String smsContext = number2.getText().toString(); // 得到短信管理器 SmsMan原创 2017-10-04 17:25:44 · 517 阅读 · 0 评论 -
Android RelativeLayout属性介绍
在Android开发当中,虽然有五大布局,但我推荐使用的是相对布局,Google也是推荐使用相对布局,所有对RelativeLayout布局,常用属性做一个整理: android:layout_marginTop="25dip" // 顶部距离 android:gravity="left" // 空间布局位置 android:layout_marginLeft="15dip" // 距离左边距原创 2017-10-04 16:11:26 · 529 阅读 · 0 评论 -
Android 广播代码的发送与接收
Android四大组件之一广播,使用的也比较多,广播可大致分为两种,一种是Android系统区域的广播,是由系统指令发出,例如:点亮屏幕广播,开机过程中的一些广播 省略…, 然而还有一种广播就是我们自己定义,自己来控制发出的广播,以下就简单介绍以下,在代码中发送广播和接收广播:第一步,在onCreate注册广播: UpdateIpSelectCity updateIpSelectCi原创 2016-12-16 12:44:59 · 2591 阅读 · 0 评论 -
Android ListView setOnItemClickListener/setOnItemSelectedListener,无效
在Android 开发中,有时候我们在设置,LIstview,GridView,这些View的时候,再给他们设置:setOnItemClickListener/setOnItemSelectedListener,触发事件都无效,是因为在Listview事件分发有问题,在代码中设置,或者在布局中设置(checkbox、button对应的view,增加以下代码即可:)focusable="false"原创 2017-03-17 11:56:22 · 3069 阅读 · 0 评论 -
Android 了解1G 2G 3G 知识
了解1G 2G 3G 相关知识,对网络通讯制式进行了解即可1.这种网络通讯制式是一步一步发展起来的,由最开始的1G(最典型的手机,例如:大哥大,1G这种制式只能语音通话)。2.后来出现的2G,2G这种通讯就有两种制式(GSM/CDMA)。3.什么是3G,3G就是第三代数字通讯,有三种网络制式: (CDMA200原创 2017-10-03 14:14:56 · 468 阅读 · 0 评论 -
Android 体系架构
什么是Android?答:Android就是移动设备的软件栈,包括(一个完整的操作系统,中间件,关键应用程序), 底层是Linux内核,包括(安全管理, 内存管理,进程管理 ,电源管理,硬件驱动…)。Android操作系统是基于Linux2.6版本的,Android操作系统是,基于在Linux核心基础之上进行了包装,就像Windo原创 2017-10-03 15:45:23 · 510 阅读 · 0 评论 -
Android-BitmapUtil工具类
Bitmap工具类,获取Bitmap对象public class BitmapUtil { private BitmapUtil(){} /** * 根据资源id获取指定大小的Bitmap对象 * @param context 应用程序上下文 * @param id 资源id * @param height ...原创 2018-09-15 22:06:55 · 666 阅读 · 0 评论 -
Android-ByteUtil工具类
Byte处理转换相关的工具类:public class ByteUtil { private ByteUtil(){} /** * 把byte[] 转成 Stirng * @param bytes byte[] * @return */ // @RequiresApi(api = Build.VERSION_CODES.O)...原创 2018-09-15 22:07:57 · 664 阅读 · 0 评论 -
Android-CallUtil工具类
打电话相关的工具类:public final class CallUtil { /** * 拨打电话(直接拨打电话) * @param phoneNum 电话号码 */ @SuppressLint("MissingPermission") public static void callPhone(Activity activity, St...原创 2018-09-15 22:09:04 · 319 阅读 · 0 评论 -
Android工具类整合
Android-JSONUtil工具类 常用的Json工具类,包含Json转换成实体、实体转json字符串、list集合转换成json、数组转换成jsonpublic class JSONUtil { private static final String TAG = JSONUtil.class.getSimpleName(); private JSONUtil()...原创 2018-09-16 08:29:30 · 1781 阅读 · 4 评论 -
Android-ImageUtils工具类
图片相关的工具类public class ImageUtils { public static boolean saveImage(Bitmap photo, String spath) { try { BufferedOutputStream bos = new BufferedOutputStream( ...原创 2018-09-16 08:11:48 · 1420 阅读 · 0 评论 -
Android-HttpUtil工具类
Http(Java 版 HttpURLConnection)请求的相关工具类public class HttpUtil { private static final int TIMEOUT_IN_MILLIONS = 5000; public interface CallBack { void onRequestComplete(String requs...原创 2018-09-16 08:12:05 · 3234 阅读 · 1 评论 -
Android-HttpsURLConnectionHelp工具类
Java版(HttpURLConnection)Https请求工具类public class HttpsURLConnectionHelp { /** * 加密协议 */ public static TrustManager truseAllManager = new X509TrustManager() { public void ch...原创 2018-09-15 22:15:11 · 317 阅读 · 0 评论 -
Android-GsonUtil工具类
JSON解析封装相关工具类public class GsonUtil { private static Gson gson = null; static { if (gson == null) { gson = new Gson(); } } private GsonUtil() { }...原创 2018-09-15 22:14:10 · 1465 阅读 · 1 评论 -
Android-FileUtils工具类
文件相关工具类public final class FileUtils { private FileUtils() { throw new UnsupportedOperationException("u can't instantiate me..."); } private static final String LINE_SEP = Sys...原创 2018-09-15 22:12:59 · 3901 阅读 · 1 评论 -
Android-FileIOUtils工具类
文件读写相关工具类public final class FileIOUtils { private FileIOUtils() { throw new UnsupportedOperationException("u can't instantiate me..."); } private static final String LINE_SEP...原创 2018-09-15 22:12:03 · 1919 阅读 · 0 评论 -
Android-DateUtil工具类
时间相关工具类public class DateUtil { private DateUtil(){} /** * 枚举日期格式 */ public enum DatePattern{ /** * 格式:"yyyy-MM-dd HH:mm:ss" */ ALL_TIME{pu...原创 2018-09-15 22:11:07 · 1130 阅读 · 0 评论 -
Android-ColorsUtil工具类
颜色工具类public class ColorsUtil { private ColorsUtil() { throw new Error("Do not need instantiate!"); } /** * 白色 */ public static final int WHITE = 0xffffffff; ...原创 2018-09-15 22:10:11 · 483 阅读 · 0 评论 -
Android DalivkVM与JVM的比较
JVM 与 DalivkVM的区别Android 为什么还有搞一个Dalivk虚拟机,不是已经就有Java虚拟机了吗,为什么还要专门搞一个Dalivk虚拟机呢?答: 1.以前Java是Sun公司的,后来成为Oracle公司的了,有版权问题,不能使用JVM; 2.Java虚拟机在移动设备上,运行效率低,如果运行效率不低,J2ME早火了;JVM与DalivkVM的比较JVM:将很多.java文件编译原创 2017-10-03 16:23:19 · 1036 阅读 · 1 评论 -
Android SDK目录结构
Android版本下载:从4.0到8.0版本; Android SDK目录结构图: sdk全称:software develop kits 软件开发工具集add-ons:Google API map地图开发等等,以后要是想用Google地图开发,就用这里面的就行了;docs:Android API开发文档,进去点击里面的index.html就可以去阅读文档了;extras:额外的支持包,如果有新原创 2017-10-03 17:20:15 · 964 阅读 · 0 评论 -
Android Sqlite 增删改查
模拟 查询所有数据,增加一条数据,修改某一条数据,删除某一条数据:SQLiteOpenHelper 帮助类的介绍:import android.content.Context;import android.database.DatabaseErrorHandler;import android.database.sqlite.SQLiteDatabase;import android.data原创 2017-10-08 16:31:25 · 1974 阅读 · 0 评论 -
Android SQLiteOpenHelper Sqlite数据库升级onUpgrade
Android Sqlite数据库升级,在Android APP开发之中,非常常见:在确定原来的数据库版本号之后,在原来数据库版本号+1,就会执行onUpgrade方法,进行数据库升级操作:在onUpgrade方法中,执行alter table student_table add age integer null 语句:package com.liudeli.day2.sqlite.db;impor原创 2017-10-08 15:41:21 · 2836 阅读 · 1 评论 -
Android SQLiteOpenHelper Sqlite数据库的创建与打开
Android Sqlite数据库是一个怎样的数据库? 答:是一种嵌入式小型设备,移动设备,的数据库,应用在穿戴设备(例如:智能手表,计算手环 等等),移动设备(例如:Android系统类型的手机 等等),属于嵌入式关系型数据库。在Android开发过程中,只需调用Android所提供的Sqlite API接口,底层会调用Sqlite.c 程序去生成数据库,创建表字段 等等;虽然在Android原创 2017-10-08 15:17:01 · 5940 阅读 · 0 评论 -
Android Xml,PullParser,解析
persons.xml文件内容: <?xml version='1.0' encoding='UTF-8' standalone='yes' ?><persons><person id="0"><name>zhangsan0</name><age>10</age></person><person id="1"><name>zhangsan1</name><age>11</age></person>原创 2017-10-08 13:53:06 · 684 阅读 · 0 评论 -
Android Xml文件生成,Xml数据格式写入
生成xml文件格式数据,Android提供了Xml.newSerializer();,可以理解为Xml序列化;序列化:把内存里面的数据(file,databases,xml 等等) 丢给某一个地方; 反序列化:把某个地方的数据(file,databases,xml 等等),拿到内存中;既然是Android操作Xml,就用Android所提供的API,不用Java所提供的API,DOM解析,SAX解原创 2017-10-08 10:48:45 · 6114 阅读 · 2 评论 -
Android Studio生成get,set,tostring,构造方法
如何在AndroidStudio开发Android应用程序的时候,在对象模型中生成快捷方式生成get,set,tostring,构造方法等;有两种方式: 第一种方式:Code –> Generate 第二种方式:通过快捷键 Alt+InsertPerson对象: 生成get,set,tostring方法: Code –> Generate 点击需要生成的方法即可: 生成完成: 谢谢大家原创 2017-10-08 09:36:57 · 672 阅读 · 0 评论 -
Android SharedPreference
在Android开发过程中,Android提供了SharedPreference共享首选项,它的用途就是,用于保存软件配置信息,APP使用过程中,需要用到的配置信息,例如:音量大小等: SharedPreference 共享首选项保存文件的模式选择: MODE_APPEND:追加模式(此模式每一次commit,不会把上一次信息清除) MODE_PRIVATE:私有模式(此模式每一次commit原创 2017-10-07 20:14:28 · 373 阅读 · 0 评论 -
Android 文件模式
在Android文件模式中,非常欣赏Android统一资源管理模式的思想:分为系统应用APP(以包名为唯一标识) 和普通应用APP(以包名为唯一标识)每个包名下有自己的 cache files databases在AndroidManifest.xml清单文件中增加文件操作权限:<!-- 增加权限文件操作相原创 2017-10-07 19:16:20 · 271 阅读 · 0 评论 -
Android 权限的由来
在Android APP开发过程中,某些行为动作需要在AndroidManifest.xml清单文件中进行权限相关的配置:<!-- 增加权限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission原创 2017-10-07 18:46:27 · 257 阅读 · 0 评论 -
Android 系统解析AndroidManifest
对于Android APP应用程序开发来说,AndroidManifest.xml里面所配置的内容,至关重要,在安装.apk文件的时候,Android操作系统是如何解析AndroidManifest.xml里面内容的呢:AndroidManifest.xml 内容结构:包相关信息(包名,版本code,版本name,等等) 应用相关信息(应用图标,应用名称,等等) Activity相关信息(Act原创 2017-10-08 18:18:26 · 1635 阅读 · 0 评论 -
Android 一个应用多个桌面图标
理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER在Android 应用程序开发过程中,Activity入口会增加:android.intent.action.MAIN // 决定应用程序最先启动的Activityandroid.intent.category.LAUNCHER // 决定应用程序是否显示在程序列表里如果原创 2017-10-09 18:50:45 · 5528 阅读 · 2 评论 -
Android Studio Genyomtion配置
在AndroidStudio里面点击 File —> Settings 在Settings界面中,选择Plugins 在Plugins,输入Genymotion,并点击下面的链接 点击Install 安装操作 安装成功后,记得要重新AndroidStudio重启Android Studio之后,就会看到一个图标 配置genymotion下载的路径: 下载Genymotion链接:http原创 2017-10-10 17:53:54 · 411 阅读 · 1 评论 -
Android Studio Run 'app'安装APK到设备的过程
1.AndroidStudio 点击Run ‘app’。 2.点击Run ‘app’就会将所有.class文件用SDK工具集处理成.dex, 用SDK工具集将图片/资源/布局文件/AndroidManifest等等/dex文件,最后全部统一打包成.apk文件。 3.将打包好的xxx.apk文件,推送到Device中,并启动安装程序去执行安装。4.释放xxx.apk文件目录到/data/data原创 2017-10-04 15:26:37 · 21667 阅读 · 1 评论 -
Android Sqlite 简单SQL语句
--- 创建表create table student(_id integer primary key autoincrement, name text);--- 查询全部select _id,name from student;--- 添加一条insert into student(name) values('刘德利');--- 修改条件 _id = 1 的数据update student原创 2017-06-17 15:40:26 · 868 阅读 · 0 评论 -
Android adb shell data目录,Permission denied
Android adb shell进入data目录,Permission denied 权限被拒绝在shell里面输入su root,去申请root权限,注意:有小部分手机是需要点击授权,再次执行cd data/data即可进入手机data/data目录,才可以。谢谢大家的观看,更多精彩技术博客,会不断的更新,请大家访问, 刘德利CSDN博客, http://blog.csdn.net/u0119原创 2017-10-04 15:34:07 · 13010 阅读 · 1 评论 -
Android adb获取屏幕分辨率
获取Android设备屏幕分辨率,可以采用最快捷的方式,使用ADB命令获取即可:打印详细方式: adb shell dumpsys window displays示例: 打印简单方式: adb shell wm size示例: 谢谢大家的观看,更多精彩技术博客,会不断的更新,请大家访问, 刘德利CSDN博客, http://blog.csdn.net/u011967006原创 2016-12-20 11:04:10 · 85685 阅读 · 4 评论 -
Android GridView 滑动条设置一直显示状态
模拟GridView控件: <GridView android:id="@+id/picture_grid" android:layout_width="match_parent" android:layout_height="match_parent" android:columnWidth="100dp"原创 2016-12-14 15:33:11 · 1496 阅读 · 0 评论