- 博客(45)
- 资源 (13)
- 收藏
- 关注
原创 SDK没有可选包以及无法下载成功(uninstall),jdk、sdk、adb环境配置,官方文档镜像
官方文档镜像:http://wear.techbrood.com/index.html修改hosts网上找了一些方法,对于下载不成功过,是需要翻墙的:修改hosts文件(C盘->windows->System32->drivers->etc->hosts)127.0.0.1 localhost#Google主页203.208.46...
2020-06-23 15:22:56
3813
原创 Activity的启动模式以及任务栈
https://github.com/NieJianJian/AndroidNotes,内容将持续更新,欢迎star。1. Activity的启动模式Activity的启动模式有四种,分别是:standard、singleTop、singleTask、singleInstance。它们的使用方法是在AndroidManifest中设置Activity的android:launchMode属性:<activity android:name=".MainActivity" android:laun
2020-06-03 18:46:04
644
原创 Handler的原理——看这一篇就够了
https://github.com/NieJianJian/AndroidNotes,内容将持续更新,欢迎star。1.处理消息的手段——Handler、Looper与Message 我们知道Android应用在启动时,会默认有一个主线程(UI线程),在这个线程中会关联一个消息队列,所有的操作都会被封装成消息然后交给主线程来处理。为了保证主线程不会主动退出,会将获取消息的操作放在一个死循环中,这样程序就相当于一直在执行死循环,因此不会退出。 UI线程的消息循环是在ActivityThrea
2020-05-22 13:41:24
741
原创 获取View实例——LayoutInflater
文章来自https://github.com/NieJianJian/AndroidNotes,内容将持续更新,欢迎star。1. LayoutInflater使用场景LayoutInflater我们都用到过,比如在RecyclerView中加载一个View:public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(mConte
2020-05-22 09:42:40
1084
原创 Android设置变量值之——与或非(&、|、~)
https://github.com/NieJianJian/AndroidNotes,内容将持续更新,欢迎star。Android常用与或非来添加和判断变量,比如,Window.java类中的一些变量:public static final int FEATURE_NO_TITLE = 1;public static final int FEATURE_PROGRESS = 2;public static final int FEATURE_LEFT_ICON = 3;public stati
2020-05-19 16:50:56
1897
原创 Java线程总结
文章来自https://github.com/NieJianJian/AndroidNotes,内容将持续更新,欢迎star。目录一. 线程基础1. 进程与线程2. 线程的状态3. 线程的创建4. 线程的终止二. 多线程1. 线程间的协作2. 线程间的调度3. 多线程相关方法——Callable、Future和FutureTask三. 同步同步锁同步集合...
2020-04-26 20:42:07
254
1
原创 生产者-消费者模型
生产者-消费者模型文章来自https://github.com/NieJianJian/AndroidNotes,内容将持续更新,欢迎star。一. 前言生产者消费者模式并不是GOF提出的23种设计模式之一,23种设计模式都是建立在面向对象的基础之上的,但其实面向过程的编程中也有很多高效的编程模式,生产者消费者模式便是其中之一,它是我们编程过程中最常用的一种设计模式。面向过程就是分析出解...
2020-04-26 20:30:31
676
1
原创 Java反射
Java反射1.Class 类类是对象,类是java.lang.Class类的实例对象public class MyClass { public static void main(String[] args) { // People的实例对象 People people = new People(); // 任何一个类,都是java...
2019-07-10 13:47:13
165
原创 Android Studio下的NDK开发
一.添加native方法创建一个类,例如起名HelloJni,然后创建native方法。public class HelloJni { public native String append(String str1, String str2); public native String sayHello();}二.生成头文件1.生成class文件,bui
2017-08-08 11:30:56
732
原创 单例模式的写法(看完这个就够了)
public class Singleton { private static Singleton instance; private Singleton() { } public static synchronized Singleton getInstance() { if (instance == null) { i
2017-03-14 17:32:16
2250
原创 Android子线程中更新UI的方法
1.handler2.通过runOnUiThread方法方法内部实现如下: public final void runOnUiThread(Runnable action) { if (Thread.currentThread() != mUiThread) { mHandler.post(action);
2016-12-29 15:17:08
799
原创 WebView的使用以及Android与Js的交互
WebView的官方文档地址:https://developer.android.com/reference/android/webkit/WebView.html1.想要使用WebView,需要在中添加权限:2.我们可以在xml文件中使用控件,也可以在我们自己的activity中直接创建 WebView webview = new WebView(this); setContent
2016-11-02 13:48:32
2144
原创 Android绘画技巧
2D绘图基础package com.example.jian.myapplication.draw;import android.annotation.TargetApi;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import and
2016-09-27 15:10:02
508
原创 android工具类总结
1.获取渠道public class Channels { private static final String CHANNEL = "META-INF/channel"; private static String channel = ""; public static String getChannel() { return getChann
2016-07-25 15:25:00
865
原创 微信支付遇到的坑
1.首先,根据开发文档,申请APP_ID(至于怎么获得签名,这个下个签名工具就可以了)获得了APP_ID之后,支付和分享都需要用到。此时分享就可以直接使用了。但是支付还需要申请。(如果此时微信分享不能使用,那就应该是签名的问题。如果微信分享可以用,支付不能用,那就应该不是签名的问题了。后续再讲签名)2.要想使用这些功能,需要添加jar包,微信的开发文档中有下载的地方,名字是li
2016-03-24 14:13:39
3950
原创 static、final的个人详解
1.static方法就是没有this的方法,在static方法内部不可以调用非static的方法,反过来是可以的。而且可以在没有任何对象创建的情况下,通过类名调用,这正是static的主要用途。一句话概括就是:方便在没有对象的情况下调用。2.static可以用来修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能。3.为什么static方法中不能调用非static的
2015-12-23 17:26:12
2644
原创 android开发经验笔记总计
四大组件:Android四大组件中除了BroadcastReceiver以外,其他三种组件都必须在AndroidManifest中注册。在调用方式上,除了ContentProvider都必须借助Intent。http://www.cnblogs.com/pepcod/archive/2013/02/11/2937403.htmlActivity1.activity是用户和应用程
2015-12-22 10:06:23
1866
原创 关于知识点的测试练习demo,以及知识点的积累
一个小的案例,简单的模拟的耗时工作,但是思路确实很常用的。一个按钮,一个textview,实现textview一秒更新一次。拓展方向实现了暂停和继续。1.Service 向Activity发送广播,更新UI在android中的主线程也就是UI线程,UI线程中才可以操作界面元素。在主线程中执行耗时操作,会造成UI阻塞,导致ANR;在非主线程中更新UI,会直接报错。点击按钮
2015-11-25 10:53:42
1731
原创 小功能实现记录2
1.length,length()和size()数组有length属性,没有length()方法;字符串有length()方法;list以及map集合等有size()方法 int[] a = new int[] { 1, 1 }; System.out.println("a.length-->" + a.length); String str = "
2015-11-12 14:48:43
954
转载 Android Context完全解析,你所不知道的Context的各种细节
转载请注明出处:http://blog.youkuaiyun.com/guolin_blog/article/details/47028975前几篇文章,我也是费劲心思写了一个ListView系列的三部曲,虽然在内容上可以说是绝对的精华,但是很多朋友都表示看不懂。好吧,这个系列不仅是把大家给难倒了,也确实是把我给难倒了,之前为了写瀑布流ListView的Demo就写了大半个月的时间。那么本篇文章我们就
2015-11-09 15:23:47
442
原创 个人对LockScreen的流程分析
首先,关于power key的代码处理在frameworks\base\policy 中的PhoneWindowManager.java文件中还有一些service以及cpp文件的处理,在android\frameworks\base\services 下的jni以及java文件中关于LockScreen的处理在android\vendor\qcom\proprietary\qrdplu
2015-11-04 11:09:17
4734
原创 某android4.4手机的SystemUI
/frameworks/base/packages/SystemUI/src/com/android/systemui/
2015-10-10 11:10:55
443
转载 Android Tips – 填坑手册
转载连接:http://www.androidchina.net/3595.html学习 Android 至今,大大小小的坑没少踩,庆幸的是,在强大的搜索引擎与无私奉献的人们的帮助下,我遇到的坑都顺利地被填平了。为了便于日后遇到同样的问题时,能免于再次搜索带来的麻烦,我养成了收藏书签的习惯,随着书签(Tips)的日积月累,我想,是时候该有这个项目了。如果你是个
2015-09-24 10:32:49
839
原创 近期列表Recents源码流程简单解析以及ActivityManager的简单使用:
android近期列表RecentsActivity的目录在/frameworks/base/packages/SystemUI/frameworks的修改需要在fastboot模式下烧system.img文件。
2015-09-22 17:58:01
3193
原创 修改的bug记录
bug1:字符串问题首先复现bug:点击URL,然后connect,出现了“load url” ,将其韩文的意思改变即可。进入message的目录:packages/apps/Mms/res 进入资源文件,英文默认是values,韩文是values-ko。在source insight中导入项目,同步文件,韩文xml乱码,因为上锁,即加密。此时用UltraEdit编辑。c
2015-09-09 20:32:46
687
原创 日常知识积累
1.老毛桃制作U盘无法放置超过4G的文件一种很简单的办法让磁盘格式改成NTFS,而且还完全不失原数据1、选择你想要存放大文件的磁盘(分区),比如E盘;2、重命名该磁盘,重命名为空,命名之后所显示出来的是:本地磁盘(X)。其中x代表你所选的磁盘名。比如E盘则显示成为 :本地磁盘(E)。3、点开始菜单--〉选择运行--〉输入:Convert X:/fs:ntfs(X代表要转化的盘符名)-
2015-09-09 19:22:16
582
原创 应用版本名称的比较1.1.1和2.2.2(包括非纯数字的版本号比较)
下面是比较的方法,只要把两个参数传递进去就ok了。根据返回的int值进行处理/** * 比较两个版本名称 * 1.1.4 和 1.1.21去除空格,用.分割 * 1.2.1 和 1.1.987 * 1.2 和 1.1.987 * 2 和 1.1.987 * 返回值:0-参数无效无法比,1-相等,2-左边大,3-右边大 */ public int Compare
2015-09-06 18:27:53
1124
原创 一个简单应用市场的所有源
由于公司的电脑是加密的,上传代码应该是乱码,所以,只好贴在这里了。有点繁琐。。。这是目录结构MainActivity.javapackage com.minstore.market.ui;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import j
2015-09-02 10:33:43
2036
原创 下载apk到本地,安装遇到的解析包时出现错误的分析
遇到一些问题,使用代码的结果是无法满足自己的需求,很多时候是和手机本身的的一些权限和机制有关系。问题1:下载apk到 内部存储,安装时无法找到路径,提示:解析包时发生错误这个原因就是由于权限的原因,首先内部存储,在权限的原因下,默认为私有,内部存储所以只能本应用自己调用。而安装应用是PackagesInstaller和PackageManager系统的其他部分调用,就等于是外部应用
2015-08-22 19:37:02
14485
1
原创 android内部存储外部存储以及assets文件的操作一些操作
由于项目需求,需要在应用本身的包中进行操作,其他程序是无法访问。既然是应用本身包中,那应该就是内部存储。在模拟器上是无法体现内部存储和外部存储效果的。因为外部存储也可以实现。但是在真机上,外部存储就不能操作。这个需要root权限。没有root权限,是无法操作的。内部存储是不需要root权限的,直接有路径就可以操作,因为为了实现功能,我测试了很多方法,最后才成功。接下来就是代码,具体内容
2015-08-13 10:01:09
2574
转载 【Android 工具类】常用工具类(方法)大全
收集常用的工具类或者方法:1.获取手机分辨率/** * 获取手机分辨率 */ public static String getDisplayMetrix(Context context) { if (Constant.Screen.SCREEN_WIDTH == 0 || Constant.Screen.SCREEN_HEIG
2015-08-07 09:43:50
436
原创 ListView的item中Button的点击以及一些属性的处理
在ListView的item中包含Button等控件的时候,就会由于焦点的问题导致一些问题。正常情况下(不添加一些属性的时候),点击每一个item,item是不会获得焦点的,因为在每一个item上设置了button或者ImageButton,CheckBox等控件的时候,此时点击item,获得焦点的是子控件。此时就用到了一个属性android:descendantFocusability。(设
2015-08-06 18:05:34
5029
转载 Android屏幕适配全攻略(最权威的官方适配指导)
Android屏幕适配全攻略(最权威的官方适配指导)转自http://blog.youkuaiyun.com/zhaokaiqiang1992/article/details/45419023Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因、重要概念、解决方案及最
2015-08-05 10:36:31
546
原创 android与服务器交互总结(json,post,xUtils,Volley,Gson)
从无到有,从来没有接触过Json,以及与服务器的交互。然后慢慢的熟悉,了解了一点。把我学到的东西简单的做个总结,也做个记录,万一以后用到,就不用到处找了。主要是简单的数据交互,就是字符串的交互,传数据,取数据。刚开始用的普通方法,后来研究了下xUtils框架。服务器端有人开发,这一块不是我负责,所以我只负责客户端传数据以及接受数据后的处理就OK了。传递数据的形式,主要是
2015-07-21 10:17:02
8163
原创 romact.apk的总结
这只是一个很小的应用,先上需求吧。逻辑:1.激活不是强制的:不激活也能用,只是每次显示设置时候提示督促激活的对话框。激活不是自动的:比如人为操作来激活。2.是否已经激活的标记通过在用户数据区域保存特定变量来实现。数据不能保存在应用本身的数据区域,因为其他应用也要读取这个数据,比如设置。当用户通过recovery等其他工具将用户数据区域清空,或者恢复出
2015-07-13 11:24:39
1355
原创 taomcat的下载和配置以及指定服务未安装的解决办法
首先是需要安装jdk的,而且需要配置在jdk的环境变量。其次将tomcat的安装目录D:\apache-tomcat-7.0.63也配置到PATH变量中去然后进入tomcat的bin目录下,然后运行一下tomcat7.exe,会一闪而过,随后就运行tomcat7w.exe。这时候有可能会出现错误,提示“指定服务未安装”。此时只需要打开cmd,进入tomcat的bin目录下,然后输入“s
2015-07-07 18:09:50
1625
原创 自定义“菊花dialog”
参考文章:http://www.androidchina.net/2297.html在原文的基础上,只做了少量修改,就是把两个类合成了一个类,并且加上了五秒之后dialog被dismiss的两种方法。1.首先是动画文件 :一张图片360一直旋转<animated-rotate xmlns:android="http://schemas.android.com/apk/r
2015-07-07 16:00:10
986
原创 android搜索功能以及显示历史纪录带清除按钮
其实这部分主要是实现很多逻辑功能顺序,点击搜索出来的内容显示在一个listview中,然后历史记录又显示在另一个listview中,只要设置listview.setVisibility(View.GONE/VISIBLE),实现切换,就差不多了,以及清除按钮的显示,详细的解释会在代码中呈现。代码比较繁琐,毕竟能力有限,纯粹是根据自己想法实现的逻辑功能,还有写地方不够完美,仅供参考。首先是主界面
2015-04-14 18:46:53
4459
android通讯录的搜索快速过滤以及快速定位功能
2015-12-18
xUtils-2.6.14.jar Xutils框架用的jar包
2015-08-14
Xutils.jar-- Xutils框架使用的jar包
2015-08-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人