![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android开发记录
文章平均质量分 62
一个写代码的胖子
这个作者很懒,什么都没留下…
展开
-
ScrollView嵌套ListView冲突高度显示不全问题
实习中遇到了ScrollView里放置一个ListView的情况,照常书写代码测试的时候出现这种情况: 就是只显示一个item的高度。上网搜索了之后才知道是ScrollView嵌套ListView会无法正确计算高度,导致只显示一个item的高度。 网上解决的思路也有很多,一种是不要在ScrollView里放置ListView,换成其他的布局方式比如ScrollView+LinearL原创 2016-06-24 13:26:25 · 6085 阅读 · 0 评论 -
阅读Android源码的一些姿势
http://zhuanlan.zhihu.com/kaede/20564614?hmsr=toutiao.io&%3Butm_medium=toutiao.io&%3Butm_source=toutiao.io转载 2016-03-25 11:10:08 · 361 阅读 · 0 评论 -
Android系列--DOM、SAX、Pull解析XML
http://www.cnblogs.com/xiaoluo501395377/p/3444744.html转载 2016-03-25 10:46:16 · 214 阅读 · 0 评论 -
Android访问网络,使用HttpURLConnection还是HttpClient?
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/12452307最近在研究Volley框架的源码,发现它在HTTP请求的使用上比较有意思,在Android 2.3及以上版本,使用的是HttpURLConnection,而在Android 2.2及以下版本,使用的是HttpClient。我也比较好奇这么使用的原因,于是专门找到转载 2016-03-22 16:18:30 · 214 阅读 · 0 评论 -
Android RelativeLayout 属性
// 相对于给定ID控件android:layout_above 将该控件的底部置于给定ID的控件之上;android:layout_below 将该控件的底部置于给定ID的控件之下;android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐;android:layout_toRightOf 将该控件的左边缘与给定ID的控件右转载 2016-03-22 16:14:27 · 222 阅读 · 0 评论 -
圆角EditText
首先定义一个圆角xmlres/drawable/round_edittext.xml <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="10dp"> <corners android原创 2016-03-22 14:30:55 · 229 阅读 · 0 评论 -
自己写的一个带indicator的viewpager
实习一周了,在公司项目中看到用到带indicator的viewpager,用的是textview和viewpager,在每个text添加一个2dp的textview作为指示器,选中哪个textview就把他下面的知识器的textview设置为可见,其他的隐藏。以前我用过第三方开源的ViewPagerIndicator。我感觉那个指示器应该要做个移动的动画吧,不然视觉效果会不太好,于是周末回来就自己原创 2016-03-19 20:24:19 · 296 阅读 · 0 评论 -
前台运行服务startForeground
前台服务是哪些被认为用户知道的并且在内存低的时候不允许系统杀死的服务。前台服务必须给状态栏提供一个通知,他被放到了“正在进行中(Ongoing)”标题之下,这就意味着直到这个服务被终止或从前台删除通知才能被解除。例如,一个播放音乐的音乐播放器服务应该被设置在前台运行,因为用户明确的知道它们的操作。状态栏中的通知可能指明了当前的歌曲,并且用户启动一个跟这个音乐播放器交互的Activity。转载 2016-03-16 13:44:49 · 10446 阅读 · 0 评论 -
使用Gson进行JSON处理
JSON解析:使用Gson进行解析:下载google-gson-2.2.2-release.zip包。包含两种主要操作:一种是将对象或者不同的内容转化为JSON格式,一种是将JSON格式的内容还原到相应的对象属性或者其他属性。1、首先使用:Gson gson = new Gson(); 创建gson对象2、要把数据转化为JSON格式时,可以在新建一个JavaB转载 2016-02-18 19:53:30 · 600 阅读 · 0 评论 -
android学习记录3(数据存储的方式:sqlite、sp、存文件。listview简单使用)
数据存储的方式存文件 一般的数据 sharedperference 设置信息,配置信息,密码 数据库 相同的结构的数据,大量存储,增删改查。 Sqlite 开源的,嵌入式的数据库,轻量级。数据库的创建文件的创建 //引用,如果文件不存在是不会被创建 File file = new File(“haha.txt”); //输原创 2016-01-31 14:46:13 · 1101 阅读 · 0 评论 -
android学习记录1(ADT,SDK,ADB,点击事件等基础使用)
ANDROIDDE 的体系结构Dalvik VM 和 JVM 的比较 ADTAndroid develop tools,安卓开发工具(eclipse的插件) 最新版本23.xxx 不好用。默认强制使用一些新的控件。SDKstandard develop kits 标准开发工具包SDK的目录结构add-ons 附加组件,放在一个额外的工具。google api,提供google地图的jar包原创 2016-01-30 15:31:51 · 2138 阅读 · 0 评论 -
Android的Menu
1、Android的Menu简介Android系统的Menu主要有三种:OptionsMenu、ContextMenu、SubMenu自定义Menu可参考:http://www.cnblogs.com/salam/archive/2011/04/04/2005329.html 2、OptionsMenu用法2.1、创建Menu 按下Menu键时,屏幕底部就会弹出menu选项转载 2015-06-15 21:39:02 · 403 阅读 · 0 评论 -
EditText 的inputType属性
//文本类型,多为大写、小写和数字符号。 android:inputType="none"//输入普通字符 android:inputType="text"//输入普通字符 android:inputType="textCapCharacters"//输入普通字符 android:inputType="textCapWords"//单词首字母大小转载 2016-01-14 21:08:27 · 307 阅读 · 0 评论 -
android学习记录2(日志、上下文、android下数据存储、xml基础)
软件测试黑盒测试不知道软件的源代码。知道软件的需求和功能。 * 白盒测试 知道软件的源代码。方法测试 (function test)单元测试 (junit test)集成测试 (intergration test)系统测试 (system test)android代码和javase区别运行环境 jvm dalvik日志输出 c原创 2016-01-30 14:38:26 · 440 阅读 · 0 评论 -
Cannot merge new index 66195 into a non-jumbo instruction!问题解决
问题现象: 问题原因: Android系统中,一个Dex文件中存储方法id用的是short类型数据,所以导致你的dex中方法不能超过65536 解决方法:Google 官方给出的解决方案是使用 Multidex 。 解决步骤: 1、修改 build.gradle 文件 defaultConfig { ... multiDexEnabled true//原创 2018-04-08 15:29:32 · 217 阅读 · 0 评论 -
Android Notification 通知
这是Android 通知相关的内容的总结 android中通知用到的地方很多,经常有的例如推送消息,下载时的提示等。Android 3.0 (API level 11)之前:使用new Notification()方式创建通知:NotificationManager mNotifyManager = (NotificationManager) getSystemService...原创 2018-04-01 16:41:50 · 757 阅读 · 1 评论 -
APP引导页的实现
画了好久布局,终于让我写一个引导页的功能。难度不大,同样是记录下来,方便复习。首先是布局文件,用viewpager实现的页面滑动。<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"原创 2016-03-26 20:43:28 · 1024 阅读 · 0 评论 -
OnGlobalLayoutListener获得一个视图的高度和宽度
我们知道在oncreate中View.getWidth和View.getHeight无法获得一个view的高度和宽度,这是因为View组件布局要在onResume回调后完成。所以现在需要使用getViewTreeObserver().addOnGlobalLayoutListener()来获得宽度或者高度。这是获得一个view的宽度和高度的方法之一。OnGlobalLayoutListen转载 2016-03-28 09:43:08 · 296 阅读 · 0 评论 -
Android学习笔记之AndroidManifest.xml文件解析
原文地址:http://www.cnblogs.com/pilang/archive/2011/04/20/2022932.html一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,转载 2016-06-14 12:29:13 · 757 阅读 · 0 评论 -
Log日志工具类
import android.util.Log;/** * Created by SY on 2016/6/2. */public class LogUtils { public static boolean isDebug = true; private static final String TAG = "SY"; public static void i(String原创 2016-06-02 14:51:24 · 296 阅读 · 0 评论 -
ListView局部更新
好几天没有写博了,前几天一直在忙毕业答辩,之后还回家了一趟,一直没有写。 今天实习时候,使用listview的adapter.notifyDataSetChanged(),方法刷新数据时候发现会发生界面闪烁的问题。后来知道了可以在adapter写一个updateView方法来实现一个item的局部更新,不像notifyDataSetChanged方法把全部数据刷新一遍。调用的时候只要调用ada原创 2016-06-01 18:12:55 · 722 阅读 · 0 评论 -
安卓重要的生命周期图和流程图
原文地址:http://blog.csdn.net/RoseChan/article/details/514865131、Activity生命周期2、Fragment生命周期3、Service生命周期4、View的绘制流程图5、Looper-Message-Handler流程图6、M转载 2016-05-24 10:04:25 · 2493 阅读 · 0 评论 -
你需要知道的Android拍照适配方案
原文地址:http://www.jianshu.com/p/f269bcda335f前言近段时间,家里陪自己度过大学四年的电脑坏了,挑选好的新电脑配件终于在本周全部到货,自己动手完成组装。从AMD到i7的CPU,6G内存到14G内存,打开 Android Studio 的速度终于杠杆地上去了,感动到泪流满面啊!!!!!!!扯了这么多,回归一下正题,还是来说说本篇文章要写什么吧!转载 2016-05-23 16:50:53 · 501 阅读 · 0 评论 -
调用相机拍照或者从图库里选择图片裁剪后设置到界面
拍照或者从相册中挑选图片设置头像是很常见的功能。同样是网上搜索了资料,知道了可以调用系统的功能实现,然后就试着开始写了。先是布局文件,就是一个ImageView和一个TextView。<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andr原创 2016-05-11 15:44:22 · 2828 阅读 · 0 评论 -
Android 文件读写工具类
自己写的工具类,写的不好,慢慢修改。package com.sy.utils;import android.content.Context;import android.os.Environment;import android.os.StatFs;import android.util.Log;import java.io.BufferedInputStream;import java.i原创 2016-05-09 14:11:35 · 1568 阅读 · 0 评论 -
Android 系统Action大全
常用Action说明:String ADD_SHORTCUT_ACTION 动作:在系统中添加一个快捷方式。 “android.intent.action.ADD_SHORTCUT” String ALL_APPS_ACTION 动作:列举所有可用的应用。 输入:无。 “android.intent.action.ALL_APPS” String ALTERNATIVE_CATEGORY转载 2016-05-05 17:42:24 · 432 阅读 · 0 评论 -
startActivityForResult和setResult详解
startActivityForResult与startActivity的不同之处在于:1、startActivity( ) 仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity( )。 2、startActivityForResult( ) 可以一次性完成这项任务,当程序执行到这段代码的时候,假若从T1Activity跳转到下一个Text2Activi转载 2016-05-03 14:10:20 · 291 阅读 · 0 评论 -
Android单位转换 (px、dp、sp之间的转换工具类)
package com.njxz.sy.deliverysystem.utils;import android.content.Context;/** * @创建时间:2016-1-4上午11:58:28 * @作者: SY * @描述信息:TODO */public class DensityUtils { /** * 根据手机的分辨率从 dip 的单位 转成为 p原创 2016-04-26 11:23:02 · 10068 阅读 · 0 评论 -
字母A-Z的快速定位滑块的学习研究
实习时遇到这么一个需求的更改,把一个带字母快速定位的滑块的listview,将其中的滑块显示全部字母a-z改成listview中数据有哪些,就只显示有数据的字母。在网上搜索了一下这个自定义view的实现,发现和项目中实现的代码基本一致,好吧,原来也是从网上百度到直接复制下来的,汗~ 结合项目中的代码和网上的资料,我自己学习分析了一下这个自定义sidebar的实现。先贴上源码,源码参考自:原创 2016-04-17 10:23:04 · 818 阅读 · 0 评论 -
Android屏幕适配全攻略(最权威的官方适配指导)
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因、重要概念、解决方案及最佳实践,我相信如果你能认真的学习本文,对于Android的屏幕适配,你将有所收获!Android屏幕适转载 2016-04-14 10:19:22 · 434 阅读 · 0 评论 -
报错Binary XML file line # : Error inflating class
自定义View,将他用于布局文件中,在XML作为布局元素来布局的话,必须使用完整路径名,也就是包名加类名来引用,用com.example.lklknbnhh.myview.MyView来进行引用。自定义一个View,必须派生实现基类View的三个构造函数 View(Context context) //Simple constructor to use原创 2016-04-12 16:42:05 · 6228 阅读 · 0 评论 -
基于Http协议的Android网络编程
一直用的是xutils,volley等框架做网络请求。看到项目里用到HttpURLConnection虽然学过,但是用的少,一下子还真想不起来。转载这篇温故知新。http://blog.csdn.net/vanpersie_9987/article/details/51045017转载 2016-04-06 18:08:07 · 227 阅读 · 0 评论 -
透明状态栏和透明导航栏
设置 Acitivity 所在 window 的属性 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (VERSION.SDK_INT >= VERSION_CODES.KITKAT)原创 2016-03-28 13:23:42 · 354 阅读 · 0 评论 -
ANR的产生及日志分析
ANR产生原因:1、View的按键事件或者触摸事件在特定的时间(5秒)内无法得到响应。2、BroadcastReceiver的onReceive()方法运行在主线程中,在特定的时间(10秒)内无法完成处理。3、Service的各个生命周期函数在特定的时间(20秒)内无法完成处理。定位和分析:首先查看Logcat日志信息可知一些信息:07-22 21:39:17.019 819-851/...原创 2019-01-03 16:00:59 · 2019 阅读 · 0 评论