- 博客(51)
- 资源 (37)
- 问答 (2)
- 收藏
- 关注
原创 Android Studio集成百度推送遇到的坑
之前做过友盟推送,感觉挺简单的,因此做百度推送的时候也没当回事,结果悲剧了!!! 看过文档之后,也挺失望,现在都用AS了,百度推送官网却还是只针对eclipse集成的文档,因此看了文档之后,又进行了一番度娘,以下进行重点总结: 1.首先需要在百度推送官网创建应用,并启用推送功能,如下图。 2.在配置详情页中,扫描二维码或者点击下载SDK,可以下载对应包名的demo。 3.下载demo后,可以
2016-12-07 15:48:26 4509 2
原创 android studio连接gitlab
没有学用命令行去管理git,只是PC端用界面去操作,而且用的是内网。模型图如下工作流程大概是这样的: 一个APP开发假如需要3个人,那么在远程的分支就需要建立至少3个,这里我们只说最简单的情况,就是一人一个远程分支。在本地每个人需要建立一个本地的仓库,需要注意的是本地仓库与远程的分支是对应的。假如我的本地仓库为开发者1,远程分支为远程分支1,我增加或者修改了代码后就需要提交上去,这时开发者1的代码
2016-08-04 13:39:25 4263
原创 UI Automator Viewer
在做项目过程中,看别人写的代码或许很痛苦,逻辑部分就不说了,有点时候别人写的布局,你也未必能轻松看明白,这时有个工具可能会帮你大忙,就是SDK自带的UI Automator Viewer,使用方法如下。1.连接Android 设备到开发机器,打开被测app 2.运行/tools/目录下的uiautomatorviewer.bat 这时,会自动弹出一个窗口,如图 3.点击uiautomatorv
2016-07-14 11:22:55 1429
转载 IntentService
在Android开发中,我们或许会碰到这么一种业务需求,一项任务分成几个子任务,子任务按顺序先后执行,子任务全部执行完后,这项任务才算成功。那么,利用几个子线程顺序执行是可以达到这个目的的,但是每个线程必须去手动控制,而且得在一个子线程执行完后,再开启另一个子线程。或者,全部放到一个线程中让其顺序执行。这样都可以做到,但是,如果这是一个后台任务,就得放到Service里面,由于Service和Act
2016-07-12 15:48:31 436
转载 java反射机制
定义: JAVA反射机制是在运行状态中,对于任意一个类,都能够得到这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。简单的解释: 反射就是让你可以通过名称来得到对象(类,属性,方法)的技术。 例如我们可以通过类名来生成一个类的实例; 知道了方法名,就可以调用这个方法;知道了属性名就可以访问这个属性的
2016-07-12 14:29:27 394
原创 RadioButton只有图片设置居中
做底部导航栏,用RadioButton,如图现在不要文字,只留图片了,然后怎么设置都会发现,图片居中不了后来看了半天,其实是居中了的,但是是文字和图片一起居中的,文字虽然没有了,但位子的位置大小还在,就导致了看起来不居中。 解决办法,把文字的大小设置为0sp就oK啦
2016-06-22 12:49:42 3153
转载 《JAVA与模式》之策略模式
http://www.cnblogs.com/java-my-life/archive/2012/05/10/2491891.html在阎宏博士的《JAVA与模式》一书中开头是这样描述策略(Strategy)模式的: 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式
2016-05-17 13:35:01 257
原创 Unable to start the daemon process
android studio打开项目,突然gradle报错了,如下图这是因为gradle需要配置,找到gradle.properties文件,就工程图中就可以找见,如下图如果你的工程中没有这个文件,可以从别的工程中考过来,或者自己新建一个都行,在里面加上一句话org.gradle.jvmargs=-Xmx512m然后重新启动android studio 经测试,办法可行。
2016-05-11 20:47:31 689
原创 AS打包问题
今天学着用AS签名打包,碰到个问题先说说都做了哪些工作,配置环境变量: 将android studio安装目录下的gradle中的bin文件夹的路径加到path中,例如我的是D:\Android\Android Studio\gradle\gradle-2.2.1\bin 完了之后,在Terminal控制器下输入gradle build按回车结果就出现了上述问题。 在网上搜了搜,有网友写过这
2016-05-04 16:38:24 2126
转载 Java回调机制解析
参考http://blog.csdn.net/pi9nc/article/details/23169357模块之间总是存在这一定的接口,从调用方式上看,可以分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,也是我们在写程序中经常使用的;回调是一种双向的调用模式,也就是说,被调用的接口被调用时也会调用对方的接口,这句话可能有点绕,等文章后面举例说明;异步调用是一种类似消息或事件的机制,解决
2016-04-29 16:05:12 327
原创 abstract抽象类--形象的解释
最近一直再学习abstract抽象类,似懂非懂的感觉,用是会用了,可是总感觉不理解java设计它的用意是何 在群里问了问关于这个的问题,有个大哥给出了这样的解释,感觉很形象,记录在此,希望那位大哥能允许看完这个理论,好似有醍醐灌顶的赶脚,对抽象类的理解更清晰了,更应该明白的是要有这个思想,去寻找共同点,然后规整,这不正是面向对象的核心思想么。
2016-04-29 11:32:37 471
转载 abstract与interface
参考文章 http://www.bdqn.cn/news/201312/12313.shtml http://www.cnblogs.com/xiaoao808/archive/2008/03/11/1100886.html1.两者的区别: 先看两者的定义方式及使用方法: public abstract class MyAcstract extends Activity { pu
2016-04-25 16:42:37 272
转载 JAVA中的接口和抽象类(转)
在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类往往用来表征我们在对问题领域进行分析、 设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象,我们不能把它们实例化(拿不出一个具体的东西)所以称之为抽象。 比如:我们要描述“水果”,它就是一个
2016-04-25 10:28:58 293
原创 四中启动模式和onNewIntent的关系
1.standard 默认启动模式,每次激活Activity时都会创建Activity,并放入任务栈中,永远不会调用onNewIntent()。2.singleTop 如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,并调用其onNewIntent(),否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不在栈顶,都会创建实例,而不会调用onNewInte
2016-04-21 17:11:34 310
原创 android studio 在线安装SDK
从今天开始,要开始用as进行开发了,当然第一步要安装android studio,这里给个下载地址 https://yunpan.cn/cPKqLd3bXAYBj (提取码:acc2) 安装过程没啥问题,按照提示就行。然后就是下载和安装SDK了,eclipse下载SDK真的是很蛋疼,as个人感觉要好多了。 点击SDK Manager,出现如下图:这里可以看到你已经安装的和未安装的SDK,划对钩
2016-04-21 13:54:32 1257
转载 static的作用
在《Java编程思想》P86页有这样一段话: “static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。”这段话虽然只是说明了static方法的特殊之处,但是可以看出static关键字的基本作用,简而言之,一句话来描述就是:static变量也称
2016-04-19 10:09:29 283
转载 Java基本语法和命名规范
http://blog.csdn.net/huangyabin001/article/details/307178411.命名基本原则 在面向对象编程中,对于类,对象,方法,变量等方面的命名应该本着描述性以及唯一标识性这两大特征来命名,才能保证资源之间不冲突,并且每一个都便于记忆。 命名原则是:使名称足够长以便有一定的意义,并且足够短以避免冗长。2.命名基本规范2.1.编程基本命名规范
2016-04-17 11:22:39 565
转载 Android 开发规范
转载自:http://www.cnblogs.com/xiongbo/archive/2011/08/15/2098130.html 发现自己有好多不良的开发习惯,代码不规范,没有人吼过自己,自己也没有注意,转载别人的文章来督促自己,要养成良好的代码编写习惯。一、Android编码规范1.java代码中不出现中文,最多注释中可以出现中文2.局部变量命名、静态成员变量命名只能包含字母,单词首字母出第
2016-04-17 10:49:40 268
原创 Jar mismatch! Fix your dependencies
最近遇到一个奇怪的事情,手机连接Eclipse好好的,一开logcat能输出信息,后来突然就不输出了,关了Eclipse,重新连接手机也是如此,而且突然又发现控制台总是输出错误信息,如下:原来是不同项目引用的v4包不同导致的。 解决办法是将这两个项目的v4包统一,或者直接删除不需要的项目。 然后,logcat也能正常输出信息了。
2016-04-07 19:44:10 330 1
原创 接口参数有中文,乱码怎么办
问题:通过GET方法请求数据,接口里参数带中文,在浏览器中可以请求到数据,在程序里就是得不到数据。环境:网络请求框架用的是Volley原因:浏览器中请求,浏览器会给中文自动编码比如:看房–>%E7%9C%8B%E6%88%BF; 用HttpGet原生的请求方法,试了试也没问题,说明HttpGet也给中文编过码了; 在Volley框架中不行,但是将参数换成%E7%9C%8B%E6%88%BF后,可
2016-04-06 15:53:06 8021
原创 Fragment动态加载
项目中用静态加载的时候不多,所以懒得写他了,直接写动态加载的内容。1.是用App包下的Fragment还是v4包下的:首先,Fragment、FragmentManager、FragmentTransaction必须统一,要用App包下的,都用App包下的,要用v4包下的都用v4包下的,否则会出错。Fragment是Android 3.0(API 11)后引入的,如果要求3.0以下手机也能正常运
2016-04-01 17:55:45 174
转载 系统Intent集合
直接贴过来方便查看/===============================================================//1.拨打电话// 给移动客服10086拨打电话Uri uri = Uri.parse("tel:10086");Intent intent = new Intent(Intent.ACTION_DIAL, uri);startActivity
2016-03-31 17:11:46 495
转载 本地广播
Android中给我们提供了本地广播的机制,使用该机制发出的广播只会在APP内部传播,而且 广播接收者也只能收到本应用发出的广播!1.注意事项本地广播无法通过静态注册来接收,相比系统全局广播更加高效!在广播中启动Activity的话需要为intent加入FLAG_ACTIVITY_NEW _TAG的标记,不然会报错。广播中弹出AlertDialog的话,需要设置对话框的类型为TYPE_SYST
2016-03-31 16:09:28 405
原创 BroadcastReceiver简单学习
1.动态注册广播接受者就是在java中指定IntentFilter,然后添加不同的Action即可,想监听什么广播就写什么Action。要注意的是 动态注册广播,一定要调用unregisterReceiver()。2.静态注册广播接受者动态注册需要程序启动后才能接收广播,静态广播就弥补了这个短板,在AndroidManifest中定制就可以让程序在未启动的情况下接收到广播了。示例代码:MyRece
2016-03-31 14:23:45 331
原创 AlarmManager实现后台轮询机制
实际开发中总会遇到定时任务,比如后台轮询,就是每间隔一段时间就请求一次服务器,确认客户端状态或者进行信息更新等,基本方法有以下几种:1.使用Timer和Timer Task实现 缺点:这种方法不适合长期的后台任务,CPU一旦休眠,Timer中的定时任务就无法运行。2.开一个Service服务,在Thread里面以while循环来实现 缺点:Service优先级比较低,当系统觉得当前的资源非常有限
2016-03-31 10:38:07 1835
转载 Activity与Service通信
参考文章: http://www.runoob.com/w3cnote/android-tutorial-service-2.html http://blog.csdn.net/xiaanming/article/details/9750689假如我们启动的是一个下载 的后台Service,而我们想知道Service中下载任务的进度!那么这肯定是需要Service 与Activity进行通信的,
2016-03-30 17:49:59 327
转载 IntentService
Service的应用场景:在后台只处理一个请求时比较合适IntentService的应用场景:service需要处理多个请求,当然处理多个请求是一个比较危险的多线程的场景1.什么是IntentService简单说,IntentService是继承于Service并处理异步请求的一个类,在IntentService内有一个工作线程来处理耗时操作,启动IntentService的方式和启动传统Servi
2016-03-30 15:15:32 104
转载 Service--简单学习
参考文章:http://www.runoob.com/w3cnote/android-tutorial-service-1.html Service是Android提供一个允许长时间留驻后台的一个组件,最常见的 用法就是做轮询操作!或者想在后台做一些事情,比如后台下载更新!Android中使用Service的方式有两种: 1)StartService()启动Service 2)BindServ
2016-03-30 11:41:04 329
转载 EditText密码可见与不可见
这里只当做记录,原文请看 http://www.runoob.com/w3cnote/android-tutorial-listener-edittext-change.html1.Java代码package com.jay.demo.edittextdemo;import android.support.v7.app.AppCompatActivity;import android.os.Bu
2016-03-28 12:00:21 2418
原创 自定义PopupWindow
1.PopupWindow和Dialog的本质区别:AlertDialog是非阻塞式对话框:AlertDialog弹出时,后台还可以做事情;而PopupWindow是阻塞式对话框:PopupWindow弹出时,程序会等待,在PopupWindow退出前,程序一直等待,只有当我们调用了dismiss方法的后,PopupWindow退出,程序才会向下执行。2.几个常用的构造方法public PopupW
2016-03-25 11:41:04 439
原创 自定义Dialog
先看效果图: 1.新建一个类,并extends Dialog。public class MyDialog extends Dialog implements android.view.View.OnClickListener{ private Context context; private String hintTitle,hintDescription;//dialog对话框文字
2016-03-24 17:56:02 246
转载 Toast的基本使用
1.Toast方法封装public static Toast toast = null; public static void showToast(Context context, String msg) { if (toast == null) { toast = Toast.makeText(context, msg, Toast.LENGTH_LO
2016-03-24 16:45:55 302
原创 ListView相关属性
1.布局文件中使用的相关属性footerDividersEnabled:是否在footerView(表尾)前绘制一个分隔条,默认为trueheaderDividersEnabled:是否在headerView(表尾)前绘制一个分隔条,默认为truedivider:设置分隔条,可以用颜色分割,也可以用drawable资源分割dividerHeight:设置分隔条的高度cacheColorHin
2016-03-23 16:43:09 258
转载 RatingBar(星级评分条)
1.RatingBar相关属性 android:isIndicator:是否用作指示,用户无法更改,默认false android:numStars:显示多少个星星,必须为整数 android:rating:默认评分值,必须为浮点数 android:stepSize: 评分每次增加的值,必须为浮点数 room_ratingbar.setRating(float)2.自定义评分条 1)同s
2016-03-23 14:25:30 439
转载 自定义SeekBar(简单点的)
1.SeekBar的基本属性android:max="100" //滑动条的最大值android:progress="60" //滑动条的当前值android:secondaryProgress="70" //二级滑动条的进度android:thumb = "@mipmap/sb_icon" //滑块的drawable2.SeekBar的监听事件setOnSeekBarChangeListen
2016-03-23 11:57:46 472
原创 自定义进度条
系统进度条有些难看,无法满足大家需求,可以用动画自定义进度条。 1.逐帧动画1)在res文件夹下创建drawable文件夹,然后新建一个animation-list的文件,amin_pgbar.xml。<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/ap
2016-03-22 17:51:41 334
原创 RadioButton---自定义单选框
一般自带的单选框比较难看,有洁癖的大家估计不好接受,下面谢谢自定义的单选框。1)与Button点击变色的道理一样,首先要建一个selector资源选择器文件如下 文件名称:sele.xml<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android
2016-03-22 15:33:00 374
转载 Button和ImageButton的使用
本人平时做项目时,这两个控件使用的较少,一般都用TextView代替,这里重新学习下他们的用法。参考文章 :http://www.runoob.com/w3cnote/android-tutorial-button-imagebutton.html1.点击变色效果StateListDrawable是Drawable资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点 < selecotr >
2016-03-22 10:48:04 1297
转载 EditText
EditText也是经常用到的控件,可以输入和获取文字,这里写一下自己不熟悉的属性。1.一些属性android:selectAllOnFocus="true"//获得焦点后全选组件内所有文本内容android:textScaleX="1.5" //设置字与字的水平间隔android:textScaleY="1.5" //设置字与字的垂直间隔2.焦点问题如果输入法在窗口上已经显示,则隐藏
2016-03-18 14:58:29 258
原创 TextView加边框
TextView是最熟悉的控件了吧,一开始学安卓就用它,关于它的属性很多,用到的时候百度就行,不用刻意去记忆,下面说一下比较常用的几个用法。1.加边框原始的TextView控件不太美观,我们要可以美化一下,比如加各种形状的边框如下 方法:自己写一个ShapeDrawable的资源文件,放到drawable文件夹下,然后将TextView将blackgroung 设置位这个资源即可。 shapeD
2016-03-18 13:31:44 957
red5安装成功后点击install显示空白
2016-02-25
串口通信关于 VARINAT的问题
2014-12-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人