
从零开始开发Android应用
文章平均质量分 70
系统讲解Android开发核心知识,涵盖环境搭建、UI设计、数据存储到网络通信等实战内容。通过案例驱动学习,助你快速入门并独立开发完整应用,轻松迈入移动开发领域!
bjxiaxueliang
在这里,我们聊技术,也聊生活。从移动领域到网络开发,从图形图像到AI机器学习,畅谈各领域的学习经验,探讨技术趋势;分享生活点滴,吐槽日常琐事,记录旅途见闻。品一杯清茶,享一段闲暇...!
展开
-
Android级连异步任务——Bolts-Android使用及原理
Parse开源了一个面向iOS和Android的底层库集合,统称为Bolts。根据Parse的公告,Bolts是Parse和Facebook共同努力将两家公司各自独立开发的小型底层工具类合并的结果。Bolts-Android为一个级联的异步任务。Bolts-Android github地址: https://github.com/BoltsFramework/Bolts-Android原创 2017-03-31 16:39:10 · 3057 阅读 · 0 评论 -
Android Accept-Encoding为gzip,deflate Http请求返回的结果为乱码
最近项目中遇到这样一个坑: 某一接口的HttpUrlConnection的请求返回结果为乱码,但PC浏览器直接打开是正常的。 效果图如下: 经过查阅代码发现,该接口的对应Header中有这么一段代码:headers.put("Accept-Encoding", "gzip,deflate");那么Accept-Encoding为gzip,deflate代表什么意思呢?Accept-Encodi原创 2017-03-29 14:35:59 · 8474 阅读 · 0 评论 -
Android获取 公网ip
通过“http://ip.chinaz.com/getip.aspx”获取公网ip浏览器get效果图: git地址: https://github.com/xiaxveliang/Android_HttpUrlConnect_Demo原创 2017-03-29 14:55:54 · 4114 阅读 · 1 评论 -
Android 通过pId获取包名
private static String getPackageName(Context context,int pId) {Log.i(TAG, "pId :" + pId + "");if (context == null) {Log.i(TAG, "context == null");return null;}if ((context instanceof Activity) ==原创 2017-05-18 10:13:24 · 8455 阅读 · 0 评论 -
一文简介Vitamio视频解码器(2014.03.11)
Vitamio官方网址:http://www.vitamio.org/ Vitamio SDK下载地址: https://github.com/yixia/VitamioBundleVitamio Demo下载地址: https://github.com/yixia/VitamioDemo已经存在我网盘的 Vitamio SDK下载地址: http://www.kuaipan.cn/file原创 2017-05-18 10:17:18 · 1997 阅读 · 0 评论 -
Android中的Interpolator
转自: http://www.cnblogs.com/mengdd/p/3346003.htmlInterpolator用于动画中的时间插值,其作用就是把0到1的浮点值变化映射到另一个浮点值变化。 本文列出Android API提供的Interpolator的若干种实现,列出源码,并且用一个程序绘制出其数学曲线。(项目链接附在文后)。1、AccelerateDecelerateInterpola原创 2017-05-16 18:43:24 · 418 阅读 · 0 评论 -
一文详解 Android热修复实现原理
这篇文章主要是对 **QQ空间团队** [安卓App热补丁动态修复技术介绍]的原理和实现方案进行探究。原创 2017-04-13 09:22:06 · 1371 阅读 · 0 评论 -
AndroidStudio offlineWork
AndroidStudio offlineWorkAndroidStudio 显示行号AndroidStudio 更改字体大小AndroidStudio 更改主题背景AndroidStudio 设置使用eclipse快捷键原创 2017-05-10 19:27:38 · 3363 阅读 · 0 评论 -
Android级连异步任务——Bolts-Android使用及原理
Parse开源了一个面向iOS和Android的底层库集合,统称为Bolts。根据Parse的公告,Bolts是Parse和Facebook共同努力将两家公司各自独立开发的小型底层工具类合并的结果。Bolts-Android为一个级联的异步任务。Bolts-Android github地址: https://github.com/BoltsFramework/Bolts-Android原创 2017-03-31 16:41:11 · 1319 阅读 · 0 评论 -
Android TextView字体加粗
TextView textView = (TextView) findViewById(R.id.TextView01);textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));原创 2017-05-18 10:20:28 · 5269 阅读 · 0 评论 -
Android代码覆盖率——使用Ant+Emma+Junit收集代码覆盖率
完成Android项目相关代码研发后,有时要求进行代码覆盖率测试,这里提出一种解决方案。原创 2017-05-18 10:06:35 · 1881 阅读 · 0 评论 -
一文详解 Android asynctask使用方式(一)
AsyncTask在各版本中源码的实现方式不用,但有时我们又需要用到AsyncTask,那我们该怎么使用它呢?原创 2018-08-28 14:08:35 · 585 阅读 · 0 评论 -
一文详解 Android multidex 使用方式及实现原理
在Android中一个Dex文件最多存储65536个方法,也就是一个short类型的范围。但随着应用方法数量的不断增加,当Dex文件突破65536方法数量时,打包时就会抛出异常。为解决该问题,Android5.0时Google推出了官方解决方案:MultiDex。原创 2018-10-16 15:55:52 · 34766 阅读 · 2 评论 -
[aapt包管理]aapt查询Apk最低支持的Android版本
如何获取APK支持的最低Android版本? 第一时间想到的是Android SDK提供的 aapt(Android Asset Packaging Tool)Android资源打包工具 。原创 2022-11-24 10:24:04 · 4824 阅读 · 1 评论 -
一文了解 Android Binder通信机制
Binder通信基础是Kernel的内存共享一个进程空间分为 `用户空间` & `内核空间(Kernel)`,即把进程内 `用户 & 内核` 隔离开来 。进程间,`用户空间的数据不可共享`。进程间,`内核空间的数据可共享`。`进程内 用户 与 内核 进行交互` ,Linux可使用`copy_from_user()`和`copy_to_user()`实现这两个跨空间拷贝,但Binder使用的方式又有所不同(后边会说道)。原创 2018-03-02 15:14:22 · 1319 阅读 · 0 评论 -
一文详解 Android asynctask实现原理(二)
一、先从AsyncTask的构造方法中WorkerRunnable开始:1、构造方法源码如下:public AsyncTask() { mWorker = new WorkerRunnable<Params, Result>() { public Result call() throws Exception { mTaskInv原创 2017-05-18 10:30:05 · 538 阅读 · 0 评论 -
一文认识 Android Context
Context 到底是什么?如果面试官问这样一个问题,你该如何回答呢?这里希望通过这篇文章,梳理一下,然后给自己一个**Context 到底是什么?**的解答。原创 2018-07-25 18:57:03 · 420 阅读 · 0 评论 -
Android 静默卸载指定包名APP
前提:**设备已经root,未root设备,无法实现静默卸载 方式很多,我采用”uninstall + 应用程序包名 “方式卸载,以下是核心代码**。 代码下载: http://download.youkuaiyun.com/detail/aiwusheng/7582049 升级版代码下载: http://download.youkuaiyun.com/detail/aiwusheng/7586057/**原创 2017-05-18 10:27:44 · 3117 阅读 · 0 评论 -
一文详解 Android状态机StateMachine 使用方式及实现原理
`StateMachine`不是`Android SDK`中的相关API,是存在于`frameworks`层源码中的一个Java类。通过这篇文章探究一下其使用方式以及实现原理。原创 2020-02-22 16:20:56 · 7502 阅读 · 2 评论 -
Android dp、sp 转换为 px 的工具类
import android.content.Context;/** * dp、sp 转换为 px 的工具类 * * */public class DisplayUtil { /** * 将px值转换为dip或dp值,保证尺寸大小不变 * * @param pxValue * @param scale *原创 2017-05-18 10:28:46 · 757 阅读 · 0 评论 -
android全屏显示、留海控制、强制横竖屏、屏幕常亮、获取分辨率等代码
android全屏显示、留海控制、强制横竖屏、屏幕常亮、获取分辨率等代码原创 2017-05-18 10:36:29 · 793 阅读 · 0 评论 -
Android %1$s %1$d
一、整型1.1、实现效果:“我今年23岁了”1.2、string.xml代码:<string name="old">我今年%1$d岁了</string> 1.3、JAVA代码: String sAgeFormat = getResources().getString(R.string.old);String sFinalAge = String.format(sAgeFormat, 23);Ps原创 2017-05-18 10:39:37 · 1257 阅读 · 0 评论 -
Android ScrollView滚动条
ScrollView滚动条不显示:android:scrollbars="none" ScrollView滚动条恒显示:android:fadeScrollbars="false"设置水平滚动条的drawable(如颜色):android:scrollbarThumbHorizontal设置垂直滚动条的drawable(如颜色):android:scrollbarThumbVertical设置水平原创 2017-05-18 10:37:53 · 3116 阅读 · 0 评论 -
android NetworkUtils
import android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.net.NetworkInfo.State;/** * 网络判断工具类 * * @author http://xiaxveliang.blog.163.co原创 2017-05-18 10:40:35 · 671 阅读 · 0 评论 -
android SharedPreference封装为工具类
import android.content.Context;import android.content.SharedPreferences;public class SharedPreferencesHelperUtil { private final String TAG = this.getClass().getSimpleName(); // file name pr原创 2017-05-18 10:45:13 · 504 阅读 · 0 评论 -
Android BitmapUtil Bitmap读取、保存、下载、效果处理
import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.UR原创 2017-05-18 10:41:30 · 871 阅读 · 0 评论 -
android Sdcard中创建文件路径,并且返回文件路径
Android 7.0对sdcard访问路径做了限制,以下代码是未做限制时的代码import java.io.File;import android.os.Environment;public class Files { // SDcard path private static final String SD_CARD = Environment .getEx原创 2017-05-18 10:42:36 · 512 阅读 · 0 评论 -
android设备信息
android设备信息一、android 设备信息import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.Lin原创 2017-05-19 14:37:57 · 670 阅读 · 0 评论 -
android 属性动画工具类
import android.animation.Animator;import android.animation.AnimatorSet;import android.animation.ObjectAnimator;import android.view.View;import android.view.animation.DecelerateInterpolator;public c原创 2017-05-19 14:44:23 · 1695 阅读 · 0 评论 -
Android GridView 去掉GridView左和上的空白区域
android:listSelector="@null" 作用很大,可以去掉GridView左和上的空白区域 <GridView android:id="@+id/source_photo_one_grid" android:layout_width="wrap_content" android:layout_height="wrap_content" androi原创 2017-05-19 14:54:38 · 1609 阅读 · 0 评论 -
Android 文件复制 文件夹复制
/*** Assets下文件复制到sdcard*/private void copyFile() { AssetManager assetManager = this.getAssets(); InputStream in = null; OutputStream out = null; try { in原创 2017-05-19 14:56:24 · 803 阅读 · 0 评论 -
Android FileUtil 文件复制、删除、数据读写、文件名与大小获取
/** * 删除文件或者文件夹 * @author http://xiaxveliang.blog.163.com * @param file */public static boolean deleteFiles(File file) { if (file == null || !file.exists()) { return false; } /原创 2017-05-20 08:01:19 · 3830 阅读 · 0 评论 -
[java代码片段] Java/Android将byte[]读入文件
File file = new File(Environment.getExternalStorageDirectory() .getPath() + "/xiaxl/1.txt"); // 存放数组数据的文件 FileOutputStream out = null; try { out = new FileOutputStream(file);原创 2017-05-20 07:59:23 · 978 阅读 · 0 评论 -
Android设备,查看已连接的Wifi密码
Android设备,查看已连接的Wifi密码原创 2017-05-20 08:10:15 · 8055 阅读 · 0 评论 -
Android-studio 显示行号、设置字体大小、更改背景
一、Android-studio显示行号二、Android-studio更改字体大小### 三、Android-studio更改主题背景 四、Android-studio设置使用eclipse快捷键原创 2017-05-20 08:26:15 · 2438 阅读 · 0 评论 -
[抓日志] android adb logcat 抓日志
1、log存入文件或者sdcard中:2、打印TAG为“xiaxl”,“-d”、“-i”、“-e”、“-v”级别的全部log输出:3、清空之前的log输出:4、使用“grep”匹配字符(这一点还不是很清楚)原创 2017-05-21 09:11:45 · 726 阅读 · 0 评论 -
[APK签名] Keytool 生成 Android 签名文件
android命令行生成签名文件原创 2017-05-21 09:23:54 · 1891 阅读 · 0 评论 -
android shape
android shape圆角矩形<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" > <corners android:bottomLeftRadius="20px" android:bottomRi原创 2017-05-21 09:39:19 · 507 阅读 · 0 评论 -
android 更改TextView部分字体颜色、大小、背景
android 更改TextView部分字体颜色、大小、背景一、效果图二、工具类TextColorHelper.javapublic class TextColorHelper { /** * 更改TextView某一段字体的颜色值 * * @param context * @param text * @param subTextArray原创 2017-05-21 09:38:24 · 6005 阅读 · 3 评论 -
android中批量处理dimens.xml的工具
android中批量处理dimens.xml的工具@(预发布)[java代码, Java代码]android中批量处理dimens.xml的工具 取出一段字符中的Int或者Float,乘除1.5倍,生成新的字符串(工具)代码地址: https://github.com/xiaxveliang/JavaTool_AndroidDimen运行效果 点击“乘1.5”按钮后的运行效果下面是java代码原创 2017-05-22 10:30:45 · 1090 阅读 · 0 评论