android基础
文章平均质量分 61
android_xiaogang
这个作者很懒,什么都没留下…
展开
-
Android中常见的安全问题
Android中的安全问题,贯穿APK开发的始终,从编码,到与服务器交互,最线打包上线运行在终端上,都存在安全隐患。如果这些隐患排查或者规避,可能给APK或者服务器造成灾难性的后果。1、SQL注入攻击2、组件暴漏3、Log敏感信息泄露4、权限问题5、慎重使用开源库6、代码混淆,加密,加固7、webview8、zip目录攻击9、网络安全问题...原创 2018-07-03 22:34:11 · 1350 阅读 · 0 评论 -
dialog+多个listview+checkbox
android中有时候遇到dialog+多个listview+checkbox的选择问题如图所示: 在dialog中左边为4个TextView,右边为四个listview(感觉不太合适,但没找到比较好的解决办法)。左边选中时动态的隐藏与显示listview,最后取出四个listview中checkbox的值。代码如下: 在主界面中package com.example.mydialog原创 2017-02-03 21:44:16 · 1009 阅读 · 0 评论 -
一步一步学自定义View(1.简单入门)
1、自定义Viewandroid中可能遇到很多需求要求自定义view,一般github上都有各种各样的酷炫效果自定义view,特别是仪表盘,柱状图,饼状图都有,但还是不免遇到一些特别的需求,自定义样式难以修改开源库,因此还是需要自己来实现。接下来记录自己一点一点学习自定义view的过程。接下来主要实现这样的效果(简单的实现画圆,和简单的动画效果) 项目目录结构 2、自定义view中构造方原创 2017-02-23 22:24:54 · 1707 阅读 · 0 评论 -
android小项目
1、接口地址网上找到一些免费公用的接口,表示感谢该博客是一个android中的小项目,主要封装和练习开发中遇到的常用知识点,进行总结。项目简单易懂,大神勿喷。http://gank.io/apihttp://showdoc.dagoogle.cn/index.PHP/6http://api.map.baidu.com/telematics/v3/movie?qt=hot_movie&locat原创 2017-01-20 21:00:55 · 2962 阅读 · 0 评论 -
Android NFC
1、NFC基础知识NFC(Near Field Communication):一种无线协议,它连接的距离是4cm以内。广泛用于银行卡,信用卡,公交卡,门禁卡等等。2、NFC与蓝牙,红外对比3、Android与NFCAndroid2.3(api=9)开始支持NFC技术,但在android2.x和3.x对NFC的支持非常有限。从android4.x后可以利用NFC技术传递较大的数据(NFC利用蓝牙传输大原创 2016-04-30 21:22:54 · 1566 阅读 · 0 评论 -
EventBus3.0的使用
1、EventBushttp://greenrobot.org/eventbus/documentation/官方学习文档EventBus是Android下高效的发布/订阅事件总线机制。作用是可以代替传统的Intent,Handler,Broadcast或接口函数在Fragment,Activity,Service,线程之间传递数据,执行方法。特点是代码简洁,是一种发布订阅设计模式(Publish/原创 2016-12-25 21:11:45 · 1352 阅读 · 0 评论 -
rxjava+retrofit简单demo
rxjava+retrofit简单入门demo1、rxjava的三个行为1、观察者Subscriber2、被观察者Observable3、订阅关系observable.subscribe(subscriber)2、rxjava示例请求apihttp://api.map.baidu.com/telematics/v3/movie?qt=hot_movie&location=北京&output=json原创 2017-01-19 15:37:29 · 746 阅读 · 0 评论 -
Android日历控件
这个日历控件主要是在material-canendarview的基础上修改,符合自己的项目中。 主要针对上面问题 1、选择时间后,标题没有改变,但下面日历已经改变 2、滑动的时间错乱问题。github上开源项目地址 https://github.com/prolificinteractive/material-calendarview效果图: 选择年月在开源项目中主要修改的类注意:通Cal原创 2016-11-15 13:09:49 · 1790 阅读 · 0 评论 -
android柱状图和饼状图的简单使用(MPAndroidChart)
MPAndroidChartMPAndroidChart是一个开源的图标库,能够实现各种各样的效果,自定义比较容易,在项目中有简单使用,做一个记录。1、柱状图的简单使用效果图: 1、导包,在这用的是两个jar包2、xml文件中配置<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.an原创 2016-12-18 01:48:05 · 10060 阅读 · 5 评论 -
android中dialog封装
在开发中经常用到对话框和加载中的进度条,做一个总结。 效果图: 在activity中的代码: public class MainActivity extends Activity implements OnClickListener { private Button btn_ok; private Button btn_list; private原创 2015-11-03 00:00:16 · 2670 阅读 · 0 评论 -
android背景选择器总结
常用属性:android:state_selected——–选中 android:state_focused——–获得焦点,比如EditText android:state_pressed——–是否按下比如Button,TextView,ImageView android:state_checked——–是否选中,比如checkbox1、 textview点击改变颜色 texvie原创 2015-10-13 14:36:50 · 4347 阅读 · 1 评论 -
popwindow+listview
实现下拉菜单,spinner一般也能够实现,但自定义比较麻烦,比如spinner有默认值时,还得动态添加spinner默认值,而用popwindow+listview也能实现相同的效果,并且自定义比较简单。 <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/a原创 2017-01-01 23:33:23 · 4286 阅读 · 6 评论 -
Retrofit提交参数
1、Get请求url请求示例 http://gank.io/api/data/福利/{pageCount}/{pageIndex} http://gank.io/api/data/福利/5/1(5和1代表分页中的参数)public interface Api { //http://gank.io/api/data/福利/5/1 @GET("api/data/福利/{pageCo原创 2016-11-24 23:51:47 · 7057 阅读 · 1 评论 -
popwindow的封装
popwindow使用中还是遇到几个问题,记录一下 1、popwindow弹出位置,还未解决弹出在控件上方的办法(目前高度写死) 2、popwindow弹出时背景变灰(类似dialog的效果) 3、popwindow与Listview使用时,item宽度自适应解决。 4、简单的对popwindow进行封装,打造易用的popwindow。 1、PopList类package com.exam原创 2017-03-12 19:18:30 · 605 阅读 · 0 评论 -
Rxjava(1.基本使用)
1、rxjavarxjava的本质rxjava是响应式编程的意思,本质是观察者模式,以观察者observe和订阅subscribe异步响应式开发。RxJava is a Java VM implementation of Reactive Extensions: a library for composing asynchronous and event-based programs by usin原创 2017-01-21 22:18:58 · 1124 阅读 · 0 评论 -
android sql汉字排序问题
android中一般排序按照时间的升降,但有时候需求要求按照字符串排序,刚开始想获取首字母排序,感觉比较麻烦,后来找到android的sqlite中有这样的原生功能android中默认汉字(字符串)排序规则按照unicode排序因此如果字段是汉语的话要用以下方式进行排序orber by 字段 COLLATE LOCALIZED ASCcollate用于字符串表达式排序规则转换 以下是sql中的语原创 2017-03-27 17:40:52 · 2161 阅读 · 0 评论 -
Android中的动画和原理(属性动画)
1、属性动画属性动画通过改变对象的属性来展示的动画效果,补间动画只是设置当前View在区域内移动,产生的动画效果,其实原View的还在原地,没有发生改变。 但属性动画改变了对象的属性。也就是改变了对象的颜色,位置,宽高等。2、示例public class MainActivity extends AppCompatActivity { private ImageVie...原创 2018-05-07 13:50:51 · 1657 阅读 · 0 评论 -
Android中的动画和原理(帧动画和补间动画)
1、Android中的动画分类Android中的动画可以分为三类:帧动画,补间动画,和属性动画 动画分类 说明 帧动画 通过不停的播放图片产生的动画效果 补间动画 对View的平移,旋转,缩放,透明产生效果 属性动画 动态的改变属性产生动画效果2、帧动画及其原理原理帧动画是按照一定的顺序播放一系列图片,从而产生动画...原创 2018-05-03 22:29:31 · 1467 阅读 · 1 评论 -
Bitmap的高效加载
1、Android内存分配Android给每个APK分配相应的内存空间,一般情况下只要APK超过个空间的限制,就会报OOM Runtime rt = Runtime.getRuntime(); long maxMemory = rt.maxMemory(); Log.i("maxMemory:", Long.toString(maxMemory / (1024 *...原创 2018-04-11 22:49:00 · 225 阅读 · 0 评论 -
ArcGis Failed to open file. May not be a valid tile package
ArcGis Failedto open file. May not be a valid tile package 在使用ArcGIS的时候遇到一些错误:官方网站:https://developers.arcgis.com/android/10-2/1、Failed to open file. May not be a valid t...原创 2018-03-23 10:47:36 · 634 阅读 · 0 评论 -
Android IPC、Binder和AIDL
1、前言 IPCPC(Inter-Process Communication)进程间通信,提供了各种进程间通信的方法。不仅是Android,其他语言也大很多情况下需要进程间通信的。Android本质上属于Linux,它的跨进程通信也基于Linux进程通信的原理。在Linux C编程中有几种方法 (1) 半双工Unix管道 (2) FIFOs(命名管道) (3) 消息队列 (4) 信号量原创 2017-08-05 17:28:25 · 699 阅读 · 0 评论 -
Android NDK(1、简单入门和遇到的问题)
1、NDK环境配置1、NDK下载和路径配置NDK Location 2、在grale.properity中添加android.useDeprecatedNdk=true2、简单示例1、Jni测试方法public class JniTest { static { System.loadLibrary("jniStr"); } public static nat原创 2017-05-18 22:18:57 · 461 阅读 · 0 评论 -
android Fragment中遇到的问题
1、在fragment中使用控件,遇到空指针在fragment中使用listview,textview等通过findviewbyid遇到空指针。 错误log错误原因: 我们在onCreateView()中填充了布局,但在onCreate()中找不到指定的id 网上的好多办法是 listView= (ListView)view.findViewById(R.id.list);改成 listV原创 2016-04-18 15:04:03 · 3707 阅读 · 0 评论 -
Android NDK(2、基础知识)
1、.cpp、.h、.c文件的区别1、.cpp和.h文件的由来编译器编译代码的时候首先先编译各模块,然后再将各模块链接为最终的可执行程序 一般来说,一个文件就编译为一个模块 但是,各模块要能链接到一起,必须有一些共同的地方,例如模块A里面有一个函数,模块B想要使用这个函数,它就必须知道模块A的一些信息才行。体现在代码上,就是有些代码必须在几个文件里都写一遍 此时我们将这样的代码写在一个单独的文原创 2017-05-23 11:07:41 · 627 阅读 · 0 评论 -
android内存泄露
1、android中的内存泄露对于android中一些无用的对象,比如activity,view长期持有这些对象,导致无法被GC回收利用,再次使用的,重新申请内存。长久下去,应用程序无法分配新内存,导致OOM。 大部分内存泄露,不会直接导致程序崩溃,但长期下去,应用程序无法负担。一反面使用app耗用大量内存,卡顿,别一方面。最终还是可能导致OOM导常。square比较好用的内存检测工具 http原创 2017-04-20 14:48:32 · 423 阅读 · 0 评论 -
android事件分发和案例
1、事件分发android控件层次嵌套关系(平级嵌套,父子嵌套)的视图关系,也就产生view(viewgroup)对触摸或者点击事件的消费关系,每一个控件都可以消费或者拒绝消费事件,在嵌套的布局中,关系可能更复杂些。android中的事件分发机制,保证我们想要的view获取到相应的事件。 view和viewgroup本质是做为view,但对于事件分发机制还是有很多区别,viewgroup可以做为v原创 2017-04-05 12:58:30 · 1923 阅读 · 0 评论 -
android tree树状列表+checkbox
在github上找了好久,想改成自己想要的效果不容易,是终改成了效果,记录一下 1、从服务器传来的数据,可能是深度树状结构,通过递归对树进行遍历 2、把json数据,转换成我们的TreeNode数据。 3、动态的设置list中距离左边的距离,实现伪层次结构。 代码调用package com.example.treedemo;import android.app.Activity;impor原创 2017-03-16 22:19:04 · 2331 阅读 · 0 评论 -
retrofit
1、Retrofit介绍http://blog.csdn.net/androidxiaogang/article/details/51725798 在上篇博客中介绍retrofit入门官方介绍地址 http://square.github.io/retrofit/2、流程示意图3、Retrofit代码分析API类中public interface Api { //http://gank.原创 2016-11-20 23:05:54 · 683 阅读 · 0 评论 -
Android中的Handler
1、Handler在develpoer上的描述: 大致翻译: 一个Handler允许你发送和处理和这个进程相关联的消息队列中的消息和Runnable对象。每个Handler实例都与一个单独的线程关联并且在该线程的消息队列中。当创建一个新的处理程序,它是绑定到创建它的线程的线程/消息队列,从这一点上,它将传递消息和runnable对象,消息队列和执行他们出来的消息队列。2、Handler有两个主要原创 2015-12-13 14:25:15 · 691 阅读 · 0 评论 -
GreenDao的使用
参考博客地址 http://www.open-open.com/lib/view/open1438065400878.htmlgreendao官网 http://greenrobot.org/greendao/1、GreenDao的原理1、DaoMaster: 持有数据库对象(SQLiteDatabase) ,并管理一些DAO类(不是对象) 能够创建和删除数据库表 它的内部类OpenHel原创 2016-11-08 21:01:34 · 921 阅读 · 0 评论 -
正则表达式提取电话号码
android中在字符串中提取电话号码package app.myapplication;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import java.util.ArrayList;import java.util.regex.Matcher;import java.util.regex原创 2015-09-14 22:25:12 · 5722 阅读 · 0 评论 -
android引导页面
效果图:引导页中的点一般不要留在图片中,要不屏幕适配不好做,这个点可以自己画,也可以是单独的图片。1、判断sp中的值,是否是第一次进入 2、对viewpager进行监听 3、当滑动到当前页面的时候,动态设置小圆点的显示图片 4、滑动到最后的时候向sp中保存 5、对于在引导页面中后退键的处理,结束引导页面,跳转到主界面 目录结构:1、WelcomActivity中代码:package com原创 2015-10-16 17:04:55 · 792 阅读 · 0 评论 -
android中Http类的封装
原文地址 http://datuo.iteye.com/blog/1094994 运行效果: 这篇主要是对http网络请求的总结。 http的封装:在httpConnection中配置一些连接属性,向handler发送数据。ConnectionManager中开启线程,进行网络链接。HttpHandler接收返回的数据并处理。 在activity中的代码:public clas转载 2015-10-26 23:26:58 · 709 阅读 · 0 评论 -
android textview时实显示checkbox选中的内容
在项目需求中可能遇到这种情况,要求textview时实显示checkbox选中的内容。首先看效果图主要讲解两个知识点。1.listview点击checkbox选中: 首先checkbox设置: android:focusable="false" android:clickable="false" 然后在代码是用一个map作记录,初始化所有选中为 false,在点击原创 2015-09-26 23:32:03 · 6549 阅读 · 0 评论 -
android中联系人搜索框
在开发中经常用到获取联系人和搜索框,今天总结一下。代码很多借鉴于:http://blog.csdn.net/wyzxk888/article/details/8800407 在些基础上做了修改,代码做了适量封装,能够直接适用于项目中。运行效果图:代码目录结构: 1、在Activity中做调用,得到联系人,对EditText设置监听。public class MainActivity exte原创 2015-11-30 23:01:15 · 3159 阅读 · 0 评论 -
CursorAdapter的使用:获取手机联系人
CursorAdapter使用:获取手机联系并人显示在上一篇中介绍了一下ListView中BaseAdapter的使用,现在主要介绍一下CursorAdapter的使用1 CursorAdapter基础知识:CursorAdapter是继承BaseAdapter的,然后重写两个抽象方法,newView()和bindView();newView并不会每一次都会调用(listview的复用),而bind原创 2015-07-27 13:46:32 · 1348 阅读 · 0 评论 -
百度地图总结
运行效果图: 1、百度地图只显示网格原因原因:在第一次运行百度地图时较慢,再加上网络比较差,可能显示网格状态。可能 是key值不对(这个可能性比较大)如果在有的手机上显示,有的手机上不显示,则是x86包没有,需要导入x86的包2、目录放置不对导致出错在eclipse和android studio中放置的目录是不一样的。armeabi必须在jniLibs目录下,jniLibs位于src/ma原创 2015-11-26 22:01:50 · 791 阅读 · 1 评论 -
Android中ListView使用
Android中listview是最常用的控件,因此listview的学习和使用就变得非常重要。listview比较重要的两点是一个是适配器的使用,另一个是对listview的优化问题。1适配器的使用问题。listview的适配器是将我们的数据映射到视图上的就是把数据展示到页面上。常用的适配器有SimpleAdapter,BaseAdapter和CursorAdapter.Android这样设计让我原创 2015-07-25 18:24:48 · 598 阅读 · 0 评论 -
Andorid studio的目录结构设置
刚用android studio一定觉得目录结构太深,一层一层的打开,不方便。其实目录结构是可以设置的在左侧的目录结构中选择Android然后在点击设置按纽右边弹出选择第一个Flatten Packages 最终目录结构变成原创 2015-09-03 20:10:03 · 986 阅读 · 0 评论 -
android studio导入第三方library
1在导入library前首先看看自己library中是否包含build.gradle文件(第5步不一样)2把library解压到工作空间的目录,在左侧则显示library3在settings.gradle中添加:include ‘:library’4在app项目中添加依赖compile project(‘:library’) 5如果项目中不包含build.gradle文件,则创建build.gra原创 2015-09-07 20:13:53 · 2049 阅读 · 0 评论