- 博客(29)
- 资源 (6)
- 收藏
- 关注
原创 Android 9.0源码解读系列(一)Activity启动流程
从今天开始,我将带领大家一起来解读Android 9.0的源码。在最近这几年,笔者的工作都是和frameworks的修改相关,对于这一块比较熟悉。因此,我力求能用最通俗易懂的语言,让刚开始接触源码的同学也能有所收获。废话不多说,我们直接进入正题。在入门Android开发时,我们就知道如何去启动一个新的Activity了。我们以显示Intent为例,一般代码如下: Intent in...
2020-04-14 16:12:55
451
原创 ListView中如何使用Button,让onClick和onItemClick事件共存
ListView中如何使用Button,让onClick和onItemClick事件共存假如ListView的一条记录包含一个TextView文本框,一个Button按钮,怎样能让点击按钮有事件响应,同时点击这条记录也有事件响应?解决方法如下:将具有点击事件控件的android:focusable属性置成false就可以了,(如这里就是按钮的控件,只要把按钮的控件的andr
2016-03-15 17:11:53
1294
原创 Short s1=1; s1=s1+1;会报错吗,编译错误还是运行时错误
如题,答案是会报错,编译错误。原因:S1+1在计算时,会默认“提升”成int型(Java中默认的计算数据是int型,如果一个long型的20和int型的10计算,则计算中默认提升为long型),所以讲int型的结果赋值给s1,未然报错。
2015-12-29 16:58:57
1293
原创 Android高效获取指定类型文件,获取文件不求人!
1、前言:最近因为项目需要,需要对手机的文件进行分类浏览,获取手机中各种指定类型的文件。想到一年之前曾经用递归的方法列出手机的所有MP3文件(参考这里),这个思路是很不错,但是这个方法对于层次不深的文件系统效果还勉强过得去,如果手机文件数量巨大,上层文件夹层次较深的文件系统而言,效率就特别低!有些甚至半分钟都扫描不完整个手机的文件。鉴于此,从开源的文件浏览器项目中得到启示,并和大家分享2、
2015-11-26 19:54:51
9261
3
原创 Android从SD卡加载大量图片
package com.exam.gallery;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.
2015-11-18 16:00:42
1612
原创 Java反射学习笔记
前言:先说说反射的作用。我们都知道处于安全、维护方便等因素的考虑,java中定义了4中访问权限,分别是:private(仅限本类)、默认无关键字(本包内所有类,包含本包内的子类)、protected(本包、其他包的子类)、public(所有类)。然后因为某些特殊的需要,需要访问某些原本不可见的方法(或者字段),比如访问某个Person类内部的某个private方法,则一般的方法是不行的,这个时
2015-11-06 15:35:02
689
原创 Android对于不同分辨率的支持
从android sdk提供的帮助文档中,我们可以看到各种手机的分辨率和对应的屏大小:QVGA (240x320),WQVGA400(240x400),WQVGA432 (240x432),HVGA (320x480),WVGA800 (480x800),WVGA854 (480x854)。然而,由于分辨率的不同,可能会导致同一布局对应不同分辨率的手机显示出不同的效果,如布局错位、图片虚化等,
2015-11-02 15:07:11
935
原创 Android string.xml中使用html标签
一、使用HTML方法1、使用 CDATA(推荐)ABC ]]> 其中可以省略方法2、转义HTML标签bold, underline 二、使用方法加载数据使用:String demo1 = Html.fromHtml(getResources().getString(R.string.demo1));当string文
2015-10-29 16:12:14
2460
原创 Android VerticalViewPager
这个与2011版的哪个不同,没有出现2011版滑动时的那个bugimport android.content.Context;import android.content.res.Resources;import android.content.res.TypedArray;import android.database.DataSetObserver;import android.gr
2015-10-09 17:48:19
1436
原创 解决ViewPager在ScrollView中失效的问题
public class VerticalScrollView extends ScrollView { private GestureDetector mGestureDetector; public VerticalScrollView(Context context, AttributeSet attrs){ super(context, attrs)
2015-09-01 17:46:51
772
原创 抽象和接口的理解
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface 选择显得比较随意。
2015-07-24 15:54:38
726
原创 Android打开/关闭数据流量
这个是网上找的,经过自己整理。由于android并未公开这个类,因此如果要打开/关闭数据,需要通过反射MobileDataSwitcher.javaimport java.lang.reflect.Method;import android.content.Context;import android.net.ConnectivityManager;public class M
2015-07-08 10:32:13
11973
原创 屏蔽系统锁屏的正确方法,亲测有效!
先给大家看段对码:mKeyguard = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE); mKeylock = mKeyguard.newKeyguardLock(""); mKeylock.disableKeyguar
2015-06-30 17:02:08
7228
原创 Android/Java 汉字转拼音(英文同样适用)
HanziToPinyin.java/* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance wit
2015-06-26 15:30:00
1314
原创 android调用系统相机
首先先说明一下,鉴于网上搜android调用系统相机,得到的内容一大把都是:调用系统相机然后获得图片(网上一大把这样的东西,抄过来抄过去,有些人根本就不加以验证是否有效,很不提倡这种做法),如果需要这样功能的请自行百度,我待会介绍的是单纯调用系统相机,但不需要获取图片。就单纯调用系统相机而言,先说说几个问题1、系统版本这个问题在这个帖子中说明了http://www.eoeandro
2015-05-26 18:47:39
4512
原创 Android获取系统启动器、电话、短信和相机包名
private ResolveInfo res; private Intent infoIntent; //获取启动器包名 infoIntent = new Intent(Intent.ACTION_MAIN); infoIntent.addCategory(In
2015-05-26 09:48:12
4374
原创 android中ListView不显示图片
关于安卓中ListView不显示图片,原因是多种多样的。如果是通过本地来加载图片,并且是动态手动添加的,那么就必须要考虑加载的时间问题。因为在BaseAdapter中,getView的方法执行效率是很快的,如果你图片跟不上节奏,那么必然造成图片空白或者透明。解决方法:用Handler延迟一定的时间再加载图片,给它足够的时间。我个人建议200-500ms。
2015-05-21 19:30:24
2265
原创 Android 4.0屏蔽状态栏(已解决)
众所周知,安卓4.0以后安全性提高很多,很多之前在2.2的方法,在4.0都实效了。网上关于屏蔽状态栏的方法很多,但是很多都没什么效果,以用反射的方法比较多(因为app层没有直接公开可以操控状态栏的类,所以要通过反射),大致如下 try{ Object service = getSystemService("statusbar"); C
2015-05-09 23:58:57
1843
原创 android获取电池电量(无延迟)
传统的注册BroadcatsReceiver监听Battery_changed有个缺陷,就是只有等到初始化和电量改变时,才能够收到通知,一下方法可以快速获得电量,直接拷贝的。之前写过一个桌面电池小控件,记得获取电池信息使用BroadcastReceiver实现的,通常是在一个Service里面,动态注册一个BroadcastReceiver,用以监听电池的电量信息。有时候,仅需要一次性
2015-05-09 16:10:18
3187
原创 Android抽屉效果的实现(不挤压,不覆盖)
抽屉效果,顾名思义就是可以像抽屉一样拉出来推进去,在Android中一般是通过滑动(从左到右,或者像帘子一样从上往下拉,或者通过某个按钮)来实现抽屉效果。其实Android的抽屉效果很简单(V4.0以上),使用了一个叫做DrawerLayout的类就可以轻松实现。废话少说,开始干活。Android官网的教程(需要翻墙):http://developer.android.com/training
2015-04-02 19:03:01
4323
原创 获取View的高度和宽度
private void measureView(View child) { ViewGroup.LayoutParams params = child.getLayoutParams(); if (params == null) { params = new ViewGroup.LayoutParams(
2015-04-01 15:20:33
3014
原创 安卓SoundPool播放声音(及具体参数解析)
SoundPool一般用来播放的文件特点有:声音短,文件小,延时慢(不像使用MediaPlayer类播放音乐时,需要等待一段时间),因此常用来播放游戏时的音效,解锁时的铃声等。注意:该类不适合播放太大的文件资源,我测试了个900K左右的文件,播放不了使用SoundPool一般需要下面几个步骤:1、将音乐文件拷贝到工程下;2、新建一个SoundPool实例;3、使用load(
2015-03-27 18:35:03
9151
原创 Android修改默认桌面
String HOME_CHOOSER_PACKAGE_NAME = "android"; String HOME_CHOOSER_CLASS_NAME = "com.android.internal.app.ResolverActivity"; Intent i = new Intent(Intent.ACTION_MAIN); i.addCategory(Intent.C
2015-01-27 16:09:11
2299
原创 去掉Holo主题下Dialog的蓝色线
在自定义Dialog时,发现不管怎么定义View,都还是会有一条蓝色的线,如下图其实这条蓝色的线条叫做titleDiver,去掉方法如下 try{ int dividerID=context.getResources().getIdentifier("android:id/titleDivider", null, null); View divider=fin
2015-01-23 18:14:38
2718
原创 Android获取当前默认桌面
在stackOverFlow网站看到的,记下来,以后备用。用于获取的默认桌面,部分机型可能返回结果只有“android” private String getHomeLauncher() { Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); Res
2014-12-17 16:04:47
3765
原创 Android设置标题栏后,关于Toast异常的解决办法
最近在搜一些自定义android标题栏背景颜色和文字居中的方法,最后实现了(虽然加载时还是短暂闪出原来的style),长话短说,结果发现自定义后,Toast不能正常使用如图文本并没有居中,纠结了一段时间后,证实了自己的判断,是style.xml文件中,自定义的一个style属性里面的问题 30dp 0dp//问题就出在这里 默认的padding不是0
2014-12-06 19:58:20
2138
原创 java和安卓DES加密结果不一致的问题,完美解决
之前的连接:http://blog.youkuaiyun.com/randyjiawenjie/article/details/6617225#plain那个方法在英文状态下确实可以一直,中文不行,这是编码问题。稍作修改。加密方法byte[] encryptedData = cipher.doFinal(encryptString.getBytes()); 改成byte[] encry
2014-11-27 11:15:51
3305
原创 C#窗体应用调用谷歌地图经验分享(菜鸟的分享)
先说下,这个东西无需太多JS基础和高深只是,只需要一点面向对象基础+一点C#基础。最近在做毕业设计,项目中需要嵌入谷歌地图,用红色标记(就是想图钉的那个)来显示监测站点的方位。对于我这种没什么项目经验,没有学过javaScript,刚学会一点点C#的菜鸟来说,根本没有头绪。在几天的学习中,最终还是完成了任务。首先很感谢一位大神的百度地图经验分享 http://blog.youkuaiyun.com/k
2014-01-28 19:48:13
9573
1
6RD_035_187B_TR7247_SW0317_20190625.zip
2019-10-25
安卓VerticalViewPager
2015-08-05
Android抽屉实例
2015-04-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人