android-develop
文章平均质量分 64
本专栏是关于Android开发的系列文章,是本人一点点积累的学习总结。里面的所有文章都是本人参加培训,观看视频,案例都是经过本人上机实践过的。希望对大家有帮助。有错误的地方,欢迎各位IT大神批评指正!!!
0 and 1
To be better
展开
-
热修复方案-设计思想
什么是热修复?存在的意义?简单来讲,热修复就是为了修复线上问题而提出的修补方案,程序修补过程无需重新发版,软件发布之后,总会出现一些Bug,这个时候就需要去解决bug然后测试,并打渠道包在各大应用市场上发布,这样就会耗费大量的人力物力。几种热修复方案1、底层替换方案底层替换方案限制颇多,但时效性最好,加载轻快,立即见效。代表:支付宝的Andfix2、类加载方案类加载方案时效性差,需要...原创 2019-12-04 17:39:30 · 439 阅读 · 0 评论 -
android studio升级到3.5.1,老项目androidannotations 框架编译不通过
androidStudio 升级老项目编译不通过是很常见的事情。处理步骤根据编译报错日志:利用修改相关Glade文件(利用好搜索引擎)这里只记录特殊处理的问题(网上资料较少的问题,常规问题就不重复其他文章了)如果老项目中使用了androidannotations 框架,升级之后需要做相关配置老项目的配置使用apt的地方全部去掉, apply plugin: ‘android-apt’同...原创 2019-11-14 16:21:40 · 455 阅读 · 0 评论 -
线程Handler
这次学习一些线程方面的知识:大家都知道,androidUI更新必须在主线程下面用线程知识实现一个倒计时的效果:下面这个如果把for循环里面的handler.sendEmptyMessage(-9);换成下面的形式Message message = new Message();message.what = -9;handler.sendMessage(message);原创 2016-03-12 21:26:15 · 388 阅读 · 0 评论 -
工具类ImageTools值得收藏下
package com.ryantang.picture;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;im原创 2016-08-04 13:15:16 · 2694 阅读 · 0 评论 -
加载优化之缓存Lru,滑动停止的时候开始加载,滑动的时候不加载
今天这个是在异步加载图片的基础上进行修改的http://blog.csdn.net/wei_chong_chong/article/details/50880293大家都知道,图片加载是非常用流量的,我们加载图片希望只加载一次,再次浏览的时候不用重新加载,如何实现呢?解决方法:使用缓存Lru:Least Recently Used近期最少使用算法android提供了LruC原创 2016-03-14 15:33:33 · 570 阅读 · 0 评论 -
Android端与服务器通信访问不到
今天犯了一个特别低级的错误:Android端与服务器端进行通信,但是Android端发送数据到服务器,服务器接收不到,没反应。弄了几个小时,一直误认为是web端出问题了,最后才意识到,Android与电脑上服务器网络连接必须使用同一个无线连接,而我的android手机一直用的是数据访问网络的!!!原创 2016-04-06 19:13:04 · 641 阅读 · 0 评论 -
判断手机是否联网
第一步加入权限 封装类判断网络是否连接public class My_Network {public static boolean isNetworkAvailable(Context context) { ConnectivityManager cm = (ConnectivityManager) context .getSystemService(C原创 2016-03-01 12:53:05 · 1235 阅读 · 0 评论 -
android端和web端通信中文乱码问题
第一步:把Android端和web端的工程编码方式都改为utf-8第二步:在Android端对传递的参数进行如下处理String path ="http://"+getpath+"/KuaiDi3/BusTime_Servlet?start="+URLEncoder.encode(start, "utf-8")+"&end="+URLEncoder.enco原创 2016-01-03 20:29:31 · 1040 阅读 · 0 评论 -
Android之HttpClient的使用方法
HttpClient的使用方法实例解析:HttpClient的get,post的数据传输package com.example.httpclient;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.URLEncoder;原创 2015-08-18 21:11:13 · 906 阅读 · 0 评论 -
Android网络编程之HttpUrlConnection【实例解析】
HttpUrlConnectionpackage com.example.urlconnection;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.n原创 2015-08-14 18:26:05 · 924 阅读 · 0 评论 -
Android网络编程Socket【实例解析】
Socket其实和JavaWeb 里面的Socket一模一样建立客服端,服务器端,服务器开一个端口供客服端访问第一步创建服务器端:(这里把为了便于讲解,把服务器端,和客服端都放在手机上了)创建Android工程socketserverpackage com.example.socketserver;import java.io.IOException;原创 2015-08-14 09:33:18 · 1175 阅读 · 0 评论 -
TCP/IP Monitor的使用方法和作用
MyEclipse的使用TCP/IP Monitor打开方法:window-->show view-->Other-->MyEclipse Common-->TCP/IP Monitor右键-->属性-->见截图作用:监听客服端和服务器之间的数据传输,起到中间桥梁作用原理 :起到中间桥梁作用,对外开一个端口,客服端访问不直接访问服务器而是先访问这个端口原创 2015-08-14 09:23:46 · 7560 阅读 · 0 评论 -
Andrioid网络编程入门介绍【入门必修】
网络编程需要学习的内容:WebView可以把一个网页在手机客服端以View的方式显示(实质上是一个网页)Socket其实和JavaWeb 里面的Socket一样建立客服端,服务器端,服务器开一个端口供客服端访问HttpUrlConnection其实是对Socket做了一个封装,针对访问Web更方便HttpClient在Ht原创 2015-08-14 09:07:57 · 922 阅读 · 0 评论 -
Android网络编程之WebView【实例解析】
WebView作用:可以把一个网页在手机客服端以View的方式显示(实质上是一个网页)MainActivity代码【实例解析】package com.example.webview;import android.os.Bundle;import android.app.Activity;import android.view.KeyEvent;import a原创 2015-08-14 08:59:03 · 1704 阅读 · 0 评论 -
http网络请求框架
今天学习网络请求框架的使用Volley 和Async-Http网络框架的特点:Volley特点: 适合数据量不大但是通信频繁的场景,使网络通信更快,更简单,更健壮 get post网络请求及网络图像的高效率异步处理请求可以对网络请求进行排序优先级管理网络请求的缓存多级别取消请求和Activity生命周期的联动(Activit原创 2016-08-10 09:16:19 · 589 阅读 · 0 评论 -
AsyncHttpClicent框架
今天学习一个框架:转载请注明出处AsyncHttpClient框架功能介绍1.http请求发生在UI线程之外;2.内部采用线程池来处理并发请求;3.GET/POST参数构造,通过RequestParams类。4.内置多文件上传,不需要第三方库支持;5.永久的cookie保存,内部实现用的是Android的SharedPreferences;6.通过BaseJsonHtt原创 2016-03-20 10:40:09 · 706 阅读 · 0 评论 -
删除android系统软件时报read-only file system
adb 命令删除系统预装软件:/system/app下的apk网上搜索解决方案如下:/system是只读的,你需要用mount -o remount,rw rootfs /system/ 把/system目录改成可读写。开始->运行->cmd->adb shell,然后输入该命令解决。rm 6xddh.apk...转载 2019-05-27 18:03:37 · 2203 阅读 · 0 评论 -
android实现session登录同步
最近在做一个项目,是html和android的混合开发项目。在android端写了一个本地的登录功能,登录成功之后,打开嵌套的html界面,还提示登录(网页登录)。这显然是不友好的。如何把本地登录的数据和打开的网页同步呢?这个问题也是“折磨”了我好长时间。因为html界面是别人写的,后台用的是c#,学java的我很头痛啊。后来在网上查找了很多资料。这里你需要补习一下cookie...原创 2018-07-23 16:04:43 · 5097 阅读 · 0 评论 -
手机号验证正则表达式
/** * 手机号验证 * * @param str * @return 验证通过返回true */ public static boolean isMobile(String str) { Pattern p = null; Matche原创 2016-05-08 16:43:14 · 2154 阅读 · 0 评论 -
AIDL[1] 什么是AIDL?
本次学习一个听起来很牛逼的知识,绝对能提高你的逼格每个应用程序都有一个进程跨进程是指在两个应用程序之间通信A应用程序的Activity与B应用程序的Service绑定,实现两个应用程序之间的通信什么是AIDL?AIDL表示“android接口定义语言”:Android Interface Definition Language进程间通信的方式使用AIDL定义的接口,会被原创 2016-04-05 18:33:30 · 237 阅读 · 0 评论 -
Camera
在App中使用Camera的两种方式1.调用系统相机,或者是具有相机功能的应用2.自定义相机案例一调用系统相机,在布局文件添加按钮,在主程序中添加按钮点击事件://隐式调用系统的相机应用 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivity(intent);如何让自己的应用也原创 2016-03-30 10:59:58 · 175 阅读 · 0 评论 -
常用的免费api
参考:http://www.eoeandroid.com/thread-333874-1-1.html?_dsign=504b0d1ahttp://wthrcdn.etouch.cn/weather_mini?city=北京通过城市名字获得天气数据,json数据http://wthrcdn.etouch.cn/weather_mini?citykey=101010100通过原创 2016-03-22 18:01:48 · 566 阅读 · 0 评论 -
scaleType (ImageView 的属性)
scaleType :center 居中无缩放显示centerInside:图像保持原来的宽度和高度比例进行缩放,假如图像比ImageView视图组件要小,那么centerInside 就与上面center属性值功能相同 centerCrop 图像保持自身的宽度和高度比例进行缩放,并且缩放后的图像的宽度和高度都要大于或者等于ImageView 对应的宽度和高度 fitCen原创 2016-01-04 11:01:21 · 433 阅读 · 0 评论 -
事件处理步骤
.确定时间源·创建事件监听器,实现事件监听方法3种方法:(观察者模式)在Activity中创建内部类实现事件监听接口并将之实例化 在Activity中匿名实现事件监听接口在Activity直接实现事件监听接口将事件监听器注册到事件源原创 2016-01-01 23:50:39 · 1268 阅读 · 0 评论 -
SimpleAdapter
private void SimpleAdapterListView() { List> data = new ArrayList>(); for (VideoInfo video : videos) { Map item = new HashMap(); item.put("thumbnail", video.thumbnail); item.put("n原创 2016-01-01 20:04:56 · 430 阅读 · 0 评论 -
Android适配器之 ArrayAdapter
第一步在布局文件中写一个ListView控件 android:id="@+id/time_lv" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/btn_go" />原创 2015-12-27 18:58:20 · 540 阅读 · 0 评论 -
对android应用进行单元测试
对应用进行单元测试在实际开发中,开发android 软件的过程需要不断进行测试。使用Junit测试框架是正规Android开发的必用技术,在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确性,加快开发速度,提高软件健壮性引入单元测试的环境:第一步:(1)在配置文件中加入作用:把单元测试中的用到的依赖库加入到应用中(2)加入原创 2015-12-22 14:25:46 · 1139 阅读 · 0 评论 -
Android内部类声明问题DetailActivityUnable to find
今天编了一个app报了一个错误:DetailActivityUnable to find explicit activity class {com.example.fragmentdamel/com.example原来是我在MainActivity中定义的内部类DetailActivity未在配置文件中声明声明方法: android:name=原创 2015-10-09 12:12:45 · 414 阅读 · 0 评论 -
Android之SDK如何更新
Android SDK 在线更新镜像服务器资源:大连东软信息学院镜像服务器地址:· http://mirrors.neusoft.edu.cn 端口:80北京化工大学镜像服务器地址:· IPv4: http://ubuntu.buct.edu.cn/ 端口:80· IPv4: http://ubuntu.buct.cn/ 端口:80· IPv6: http://ub原创 2015-08-07 20:13:25 · 879 阅读 · 0 评论 -
Android之SDK下载更新
android-mirror.bugly.qq.com8080Android SDK Manager(点击SDK下载图标)-->Tools-->Options..--->在Http Proxy Server中填入:android-mirror.bugly.qq.com在Http Proxy Port中填入:8080在Others 中选择Force https:/原创 2015-08-06 09:55:31 · 744 阅读 · 0 评论 -
Android之Fragment案例解析
创建工程fragmentdamel第一步创建Data.javapackage com.example.fragmentdamel;public final class Data { //标题 public static final String[] TITLES={ "线性布局", "表格布局", "帧布局", "相对布局", }; //详细内容 p原创 2015-10-10 11:36:01 · 720 阅读 · 0 评论 -
ViewPager + Fragment关闭滑动切换效果
ViewPager + Fragment 做底部导航是经常用到的一种方式。自带滑动切换和点击切换但是如果老板有一天不想要滑动切换了。或者因为其他原因(与内部的滑动切换冲突了,且冲突不好处理)。那么怎么关闭ViewPager的滑动切换效果呢其实很简单。重新ViewPager的内部方法不就行了。就是最简单的自定义Viewpublic class MyViewPager extend原创 2016-11-02 17:18:13 · 2011 阅读 · 0 评论 -
android xml属性总结
View类的 XML 属性相关方法及说明ViewGroupLayoutParams 支持的 XML 属性ViewGroupMarginLayoutParams 支持的 XML 属性View类的 XML 属性、相关方法及说明Android 推荐用 XML 布局文件来定义用户界面,而不是使用 Java 代码来开发用户界面,因此所有组件都提供了两种方式来控制组件的行为。转载 2016-11-02 10:19:02 · 617 阅读 · 0 评论 -
Android之如何强制横竖屏显示
2 强制横屏竖屏显示(不根据手机传感器调整)在清单文件AndroidManifest.xml中在android:screenOrientation="Landscape"//横屏//portrait竖屏原创 2015-08-21 09:30:25 · 1946 阅读 · 0 评论 -
Android之如何实现滑动页面切换【Fragment】
Fragment 页面切换不能滑动 所以对于listview 可以添加的左右滑动事件 ,不会有冲突例如(QQ的好友列表的删除) Fragment 和viewpager 的区别 Viewpager 的事件都需要写在 MainActivity 使得 MainActivity 类非常冗余 Fragment 内部的事件则可以由其内部去处理分成多个类。便于维护和管理 MainActivity 只原创 2015-08-21 09:28:00 · 6259 阅读 · 3 评论 -
Android之弹出菜单框【注册上下文菜单】
注册上下文菜单:(长按弹出一个菜单)第一种创建方法(与长按事件结合):public class MainActivity extends Activity {private TextView username,password;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TO原创 2015-08-21 09:13:40 · 967 阅读 · 0 评论 -
Android之如何设置长按事件监听
长按事件监听:username.setOnLongClickListener(new OnLongClickListener() {@Overridepublic boolean onLongClick(View v) {Toast.makeText(MainActivity.this, "长按事件监听", 1).show();return false;}});原创 2015-08-20 08:56:00 · 1914 阅读 · 0 评论 -
Android之如何设置文本改变监听
文本改变监听:username为EditText的一个对象username.addTextChangedListener(new TextWatcher() {@Overridepublic void onTextChanged(CharSequence s, int start, int before, int count) {//参数依次代表的意思:s文本内容,原创 2015-08-20 08:54:17 · 920 阅读 · 0 评论 -
Android之如何设置键盘监听
5.设置键盘监听【以EditText为例】username.setOnKeyListener(new OnKeyListener() {@Overridepublic boolean onKey(View v, int keyCode, KeyEvent event) {// TODO Auto-generated method stubswitch (keyC原创 2015-08-20 08:46:04 · 1207 阅读 · 0 评论 -
Android之设置拖拽监听
以EditText为例:username.setOnDragListener(new OnDragListener() {@Overridepublic boolean onDrag(View v, DragEvent event) {// TODO Auto-generated method stubLog.i("touch", event.getX()+" "+原创 2015-08-20 08:41:38 · 1278 阅读 · 0 评论