Android
文章平均质量分 55
蜡笔小新hyp
这个作者很懒,什么都没留下…
展开
-
Android学习笔记(二)
1.android:gravity="center_horizontal"(这个是线性布局中的标签属性) android:layout_centerHorizontal="true"(这个是相对布局中的标签属性)2.在LinearLayout中 android:layout_marginBottom 属性不起作用,只有 android:layout_marginTop才起作用,原创 2013-05-02 08:35:05 · 694 阅读 · 0 评论 -
Fragment生命周期解析
1.参考博客:http://blog.csdn.net/forever_crying/article/details/8238863/http://www.cnblogs.com/SharkBin/p/3699866.htm2.fragment与Activity的生命周期的调用DynamicActivity 中包含一个TestFragment,DynamicActivity原创 2016-01-20 16:06:54 · 356 阅读 · 0 评论 -
Activity声明周期解析
以前零零碎碎的看了关于Activity生命周期的一些解析,每次遇到问题时都是随手查一下,今天决定重新整理一下。1.Activity生命周期图2.Activity在展示过程中,当一些操作发生时,比如点击home键回到桌面,切换App等事件操作时Activity的生命周期变化。3.横竖屏切换时Activiy生命周期的变化。4.参考博客:http://blog.csdn.net/原创 2016-01-20 15:02:55 · 470 阅读 · 0 评论 -
listview刷新
最近在实现listview的三级联动的时候,刷新listview时遇到了一些问题,记录以便查阅。1.listview的刷新问题。暂把listview看做MVC模式,listview的数据源是Model,Adapter是Control,布局文件中的相当于View,当adapter把listview和数据源绑定到一起后,刷新视图等工作都由adapter来完成,如果listview没有刷新或者没原创 2016-01-16 13:19:04 · 820 阅读 · 0 评论 -
比较两个类对象是否相同
前边有写过给相同类的对象赋值,今天有研究了比较两个类对象是否相同,当然前提是两个对象属于同一个类。比较的方法都是在ClassReflection类中实现的。下面是主要代码:package com.example.administrator.beancompare;import android.util.Log;import java.lang.reflect.Field;import原创 2015-12-11 16:40:25 · 3276 阅读 · 0 评论 -
volley JSON请求数据
今天学习JSON请求数据,代码写好后出错:1.运行出错 E/AndroidRuntime(11124):java.lang.ArrayIndexOutOfBoundsException: length=96; index=96解决方法:重新运行源代码,断点调试,查看两个程序运行轨迹,发现参数值不一样,修改后重新运行,成功!2.请求数据url=http://m.weathe原创 2015-12-11 15:22:26 · 294 阅读 · 0 评论 -
ExpandableListView实现点击打开收起功能
Listview点击展开,显示详情。使用ExpandableListView可以轻松实现。网上有好多例子。但是出现了一个问题,当有多条数据,listview只显示一条。是因为listview的高设置的为watch_content, 这时就要添加一个ListViewUtils类,package com.example.utils;import android.view.View;i原创 2015-12-11 15:38:21 · 886 阅读 · 0 评论 -
自定义相机截取矩形框中的内容
自定义相机截取矩形框中的内容参照网上源码编写了一个Demo,实现自定义相机获取矩形框中的内容。参考资料http://blog.csdn.net/yanzi1225627/article/details/7934710,http://blog.csdn.net/makinglove0231/article/details/42365551原创 2015-12-11 15:28:05 · 710 阅读 · 0 评论 -
给相同的类对象赋值
最近用到了给两个相同的类对象赋值。已知一个类对象已赋值,让该对象值赋给另一个对象,该类属性还包含有List属性。ClassReflction类是赋值的主要实现,package com.example.administrator.beanassignment;import java.lang.reflect.Field;import java.lang.reflect.Method;/原创 2015-12-11 15:06:45 · 779 阅读 · 0 评论 -
三级listview的实现
想要在界面上显示一个三级的listview,效果如下图:原创 2016-01-08 16:56:11 · 1018 阅读 · 0 评论 -
修改Toolbar/Actionbar的图标
新建项目时要使用侧滑栏,toolbar等这些元素,但是使用AS新建的项目中toolbar的图标是黑色的,想让显示白色。如下图:1.重新设置toolbar的图标,添加代码,无效!toolbar.setNavigationIcon(R.drawable.ic_menu_white_18dp); setSupportActionBar(toolbar);2.重新查原创 2016-01-29 10:41:39 · 654 阅读 · 0 评论 -
listview下拉加载后点击item报 java.lang.IndexOutOfBoundsException异常
问题描述:listview下拉加载数据,刷新,点击item后项目崩掉,报异常 java.lang.IndexOutOfBoundsException。出错原因:假定listview加载数据每次请求10条,界面显示数据的List list21.进入当前页面时第一次请求数据此时数据总数count=10;2.再次下拉请求一次数据,3.把请求的10条数据添加到list2中4原创 2016-07-06 11:47:00 · 911 阅读 · 0 评论 -
Android单元测试(一)——概述
学习了一段时间的单元测试,翻了好多资料,遇到踩了好多坑,记录总结,希望有用。单元测试单元测试是开发者编写的一小段代码,用于检验被测代码中的一个很明确的功能是否正确。其中,单元指的是测试的最小模块。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。单元测试的代码不会被编译进入APK中。目的检查它是否实现了规定的模块功能和算法,测试用户界面的风格是否原创 2016-06-12 17:06:27 · 531 阅读 · 0 评论 -
Android环境搭建
电脑重新装系统了,然后要重新安装Android studio,搜索一个不错的教程,以备以后使用。http://ask.android-studio.org/?/question/789原创 2016-06-09 12:42:26 · 287 阅读 · 0 评论 -
Android架构学习MVC、MVP、MVVM(二)
基于上篇文章对MVC、MVP、MVVM的学习,结合代码区别三个架构的不同。MVC项目结构:1.MainActivity既是view也是controller。2.代码的耦合性太高,3.当业务较多时MainActivity将会很复杂。mvp项目结构:1.MainActivity属于view2.负责view与model两者交互的那部分放在presenter原创 2016-05-26 16:18:55 · 380 阅读 · 0 评论 -
Android架构学习MVC、MVP、MVVM(一)
一直在敲代码,最近看了Android架构方面的知识,做下总结记录。主要有MVC、MVP、MVVP。MVX(MVC 、MVP 、MVVM等的统称)根据M与V的数据传递流程不同。MVC ---》MVP--》MVVMMVC(模型-视图-控制器、Model View Controller)运行机制:如下图。箭头方向表示数据交互传递的方向。优点:把业务逻辑全部原创 2016-05-26 15:36:32 · 599 阅读 · 0 评论 -
实现图片放大缩小,点击热点响应事件
实现一个功能,类似百度地图。条件:一张图片。要求图片可以任意放大缩小移动,点击放缩后图片的热点时弹出popwindow,并且给热点区域添加阴影,显示出热点区。实现思路:1.先要实现图片的任意放缩2.获得热点区域的坐标3.点击热点区域响应事件4.点击热点区域弹出popwindows,并指定p原创 2015-12-11 15:32:10 · 1916 阅读 · 0 评论 -
AndroidStudio新增文件提交到SVN时不显示
开发项目时,AndroidStudio 、svn一直都是好好的,提交、更新都没问题。不知道点到哪里了,提交文件到SVN时,修改的和删除的文件都显示可以提交,但是新增的文件却没显示,也提交不到SVN上。如下图1中不显示新增的文件。解决方法:在androidStudio中选中新增的文件--->右击--->Subversion--->Add to VCS。操作步骤如下图。好了,这原创 2016-04-15 11:36:12 · 3144 阅读 · 1 评论 -
android线程
每次遇到线程这点总是很模糊,这次记录一下,以便以后翻阅查看吧。参考博文:http://blog.csdn.net/boyupeng/article/details/6208072http://blog.csdn.net/hyp1006346386/article/details/50264481 ps:觉得线程的这两种实现方式和onClickListener响应接口有类原创 2016-03-18 10:27:45 · 361 阅读 · 0 评论 -
使用了过滤条件的 ArrayAdapter,向源数据添加或删除数据后刷新时,界面不会同步更新
上周完成的工作主要是修改BUG,当点击清空历史记录按钮时,listview清除全部记录。问题描述:在ActivityA中的edittext中输入搜索内容,点击搜索按钮后,跳转到B界面,在A的listview中显示符合条件的记录信息。当再次点击搜索框是,又回到A,光标此时在搜索框中,显示键盘,提示输入;同时A的listview中显示刚刚的搜索记录。依次操作,A的listview中item显示所有原创 2015-12-11 15:44:49 · 793 阅读 · 0 评论 -
Material Design学习
一.Android 5.0 Material Design---棒棒糖1. 棒棒糖最大的区别就是添加了阴影效果。由之前的2D转变成了3D。2. 交互式响应。当用户点击屏幕时,产生触控涟漪。3. 配色。限制颜色的数量,在众多基础色中选出三个色度以及一个强调色。强调色用于后背,鲜艳的强调色用于你的主要操作按钮以及组件,如开关或滑片。左对齐的部分图标或章节标题也原创 2015-12-11 15:41:47 · 456 阅读 · 0 评论 -
android studio运行时报错the selected device is incompatible
android项目在真机上测试时,提示android the selected device is incompatible:所选设备不兼容。原因是项目要求的最小SDK版本比真机的SDK版本高。解决方法:修改项目的minSdkVersion。在项目build.gradle文件中,修改minSdkVersion为真机Android版本,此处真机版本为17,原创 2015-12-11 15:50:23 · 2137 阅读 · 4 评论 -
Volley多次请求 RetryPolicy
1.Volley多次请求 RetryPolicy客户端使用volley请求数据,用fiddler抓包,发现有时客户端的响应速度回延迟几秒,且服务端返回多条数据。但是查看代码客户端请求次数是1,查找资料后发现这是volley的bug,volley客户端会对发起多个同一请求。但当客户端个数很多时,就会给服务端造成压力。为了缓解这种情况,设置重试次数为0public NoRetryPolic原创 2015-12-11 15:49:22 · 633 阅读 · 0 评论 -
Non-static method cannot be referenced from a static context
问题描述:public class ActivityA extends Activity implements OnClickListener {private String a="XX";private String b="XX";@Overridepublic void onClick(View v){switch(){case a:boolean isCh原创 2015-11-23 17:02:14 · 18962 阅读 · 1 评论 -
Android fragment生命周期处理
添加项目到Action Bar 你的fragment可以通过实现 onCreateOptionMenu() 提供菜单项给activity的选项菜单(以此类推, Action Bar也一样).为了使这个方法接收调用,无论如何, 你必须在 onCreate() 期间调用 setHasOptionsMenu() 来指出fragment愿意添加item到选项菜单(否则, fragment将翻译 2013-07-21 11:44:38 · 642 阅读 · 0 评论 -
Statis Acticity 改为Fragment
一.在ActionBar中添加标签(Tabs),每个标签对应的是一个Fragment,点击不同的Tab时,就会切换到对应的Fragment。 这里有五个关键步骤: 1. 要实现 ActionBar.TabListener接口,当点击Tab的时候触发这个接口里面的事件,有onTabSelected(), onTabUnselected(), 和 onTabReselected(). 实现原创 2013-07-21 10:48:39 · 890 阅读 · 1 评论 -
Statistical由Activity改为Fragment(二)
一.android fragment(android.support.v4.app.Fragment和android.app.Fragment区别)(1)android.app.Fragment:兼容的最低版本是android:minSdkVersion="11"因此你的应用不能兼容3.0以下的应用。可以使用标签的,这点很重要,如果是用android.support.v4.app.Fragme原创 2013-07-14 12:09:55 · 1213 阅读 · 0 评论 -
Statistical由Activity改为Fragment
在修改的过程中出现的问题:1.private Activity activity = getActivity();写在全局中会出现NullPointException异常,修改方法.private Activity activity在全局变量中声明,然后在方法体中赋值,如:public void onCreate(Bundle savedInstanceState) {ac原创 2013-07-12 18:38:18 · 1329 阅读 · 0 评论 -
Android回调机制
本文讨论以下两个内容:1. 回调函数2. 回调机制在 Android框架 监听用户界面操作中的作用一 回调函数回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。Ja转载 2013-05-09 17:41:42 · 647 阅读 · 0 评论 -
volley学习笔记
刚开始接触Volly,看着别人的源码比葫芦画瓢,遇到的一些问题。1.写XMLRequest.java时,代码一些都没问题,但是Response一直没有数据,空屏幕,后来打断点调试,程序直接回调 new Response.ErrorListener() {},一度头大,后来冷静下来,找到问题的突破口,打印输出error的详细信息。添加代码:Log.e(“LOGIN-ERROR”, error原创 2015-12-11 15:19:19 · 313 阅读 · 0 评论 -
Android 开发总结
一.equal(“”)与==“”的区别比较控件文本内容是否为空,用==“”判断返回false,重新回项目中查找问题,仍然无解,后来同事建议用equal(“”)返回true,成功!大致来解释一下两者的区别吧。==“”是用来比较两个对象的首地址是否相同,如果相同则认为是同一对象,返回true,否则返回false;equal(“”)也是用来比较对象在堆内存中的首地址的,但对于String类型原创 2015-12-11 15:43:08 · 325 阅读 · 0 评论 -
Stackoverflow Error
测试时代码出错。Stackoverflow Error上网搜了出现栈溢出的原因。1. 死循环或循环递归2. 布局层数太多3. http://4byte.cn/question/279075/gson-stackoverflowerror.html,这也算是个原因吧结合项目,之前项目一直运行正常,提交了一次后就出现这个问题,并且页面布局并没有什么增减原创 2015-12-11 15:40:02 · 387 阅读 · 0 评论 -
线程Looper+Handler+Thread学习
一个Activity页面开辟多个线程,及多个线程间进行通信。原创 2015-12-11 15:33:51 · 406 阅读 · 0 评论 -
百度云消息推送
这两周没怎么写文章,梳理一下这两周的东西吧。任务:主要实现的功能是消息推送,使用的是百度云推送SDK,接收服务端的发送的消息和通知,并把这些消息显示在listview中,已读消息和未读消息要有明显的标识。难点:区分已读和未读消息这个功能。一般是通过服务端发送的数据中的一个字段来判断消息的已读和未读,但是我做的这个服务端返回的数据中没有标识消息状态的字段,所以实现这个功能就需要自己来想办法了原创 2015-12-11 15:29:35 · 522 阅读 · 0 评论 -
Android自定义Camera
车牌识别还在研究中,最近在学习自定义Camera,一.问题:1.程序运行后相机一直黑屏,拍照按钮可以正常显示。问题:实例化的Camera为null解决方法:设置多个断点,跟踪调定位程序的出错点,逐个解决。二.心得:当接触一个心得知识的时候,不要力求快,越急进度越慢,汲取的越少,就会花费更多时间。要平静的仔细的分析网上的源码,或者官方文档,逐渐的理清思路和每一个步骤,这样原创 2015-12-11 15:26:44 · 288 阅读 · 0 评论 -
Volley Gson Json
1. JSON(参考资料http://www.w3school.com.cn/json/index.asp) a.JSON:JavaScript对象表示法(JavaScriptObjectNotation)。 JSON 是存储和交换文本信息的语法。类似 XML。 JSON 比 XML更小、更快,更易解析。 Java原创 2015-12-11 15:25:25 · 296 阅读 · 0 评论 -
Activity界面刷新
Activity中常用的界面刷新:1.onResume()这个方法是Actvitity中最常用的方法,把要刷新的控件和操作放到该方法中,当再次返回到该Activity时程序会自动调用onResume()方法实现界面的数据显示刷新。2.onActivityResult()ActivityA:StartActivityForResult(intent,requestCode);原创 2015-12-11 15:51:37 · 1854 阅读 · 0 评论 -
Android已安装了存在签名冲突的同名数据包
项目发布新版本后,手机提示有新版本,要升级。但是下载完升级包后,安装失败,提示:Android已安装了存在签名冲突的同名数据包。上网搜了一下说是因为较旧的版本是使用eclipse自动发布到模拟器上的,而eclipse自动发布时使用的是一个测试 用签名,这个签名与你正式打包的签名不是一个。这个问题一般发生在测试自动更新功能上。若想继续测试自动更新,手工删除该软 件的旧版(eclipse自动安装的那个原创 2015-12-11 15:47:35 · 1948 阅读 · 0 评论 -
intent,requesrcode,resultcode开发总结
Intent传参,requestcode与resultcode 原需求:A中有一个按钮,一个文本框,点击按钮时跳转到B中;B中有一个listview,点击listview的item,跳转到C;从C中的listview中选择,当点击listview的item时,把选择的item值回传给B,B再把值回传给A,在A中的文本框中显示出返回的值。新增需求:1. 在B中新添加搜索功能,一原创 2015-12-11 15:46:21 · 398 阅读 · 0 评论 -
Android知识积累
1. android studio的使用,gradle构建不同版本apkstudio中文社区:http://www.android-studio.org/构建不同版本apk:https://www.zhihu.com/question/22842123Gradle命令:https://segmentfault.com/a/1190000002464822http://原创 2017-04-10 13:15:37 · 411 阅读 · 0 评论