java 基本数据类型及数组使用集锦

博客: 安卓之家
微博: 追风917
CSDN: 蒋朋的家
简书: 追风917

每日一景

Arrays.copyOf与System.arrayCopy


数组拷贝,有Arrays.copyOf与System.arrayCopy,区别是System.arraycopy要求你必须提供一个目标数组,而Arrays.copyOf不用你提提供目标数组,其内部实现就是用的 System.arrayCopy

另外,这个Arrays类有很多实用方法,比如Arrays.toString(int[] ints),可以直接把数组转成字符串,参数是8种基本数据类型数组和Object数组

自动装箱和拆箱


jdk1.5 新增加的技能,自动装箱允许我们将基本类型和装箱基本类型(Boxed Primitive Type)混用,按需自动装箱和拆箱

它们之间性能是有明显的差别的(基本类型更优),所以优先使用基本数据类型——第2章-创建和销毁对象

Android Studio中常用插件及浅释

博客: 安卓之家
微博: 追风917
CSDN: 蒋朋的家
简书: 追风917

美景

插件可以来这个仓库查找:Android Studio Plugins

这里给出几个平时常用到的as插件,方便我们的开发。点击标题就直接可以进入插件的github源码查看。

如何自己开发插件,请参考鸿洋大神的博客:自己编写Android Studio插件 别停留在用的程度了

.ignore


as第一大插件,版本控制必备,.gitignore内容写法,来这里看看:git使用之二——.gitignore文件详解

获取安卓应用的包名和入口 Activity

博客: 安卓之家
微博: 追风917
CSDN: 蒋朋的家
简书: 追风917

景色无边

最近要定制个Launcher,最后选择了 Launcher3,要在4.4上跑,掉坑里去了,太深 :sob:

首先在桌面上要显示一些应用的快捷方式,小部件之类的,这就需要知道他们的包名入口 Activity.

获取应用包名


  • adb 命令获取

这个有以下几种方式:

1 经常用R.E管理器的同学,应该知道在系统/data/data目录下存着该手机所有的应用数据,并且是以包名为文件夹命名的,so直接ls查看就可以了

1
2
adb shell //进入系统终端
cd /data/data && ls

window用户找不到adb命令的,请把adb目录加入到环境变量里。

安卓定位及坐标转换

博客: 安卓之家
微博: 追风917
CSDN: 蒋朋的家
简书: 追风917

每日一景

定位


需要添加位置权限,这里有两个:

  • android.permission.ACCESS_COARSE_LOCATION – 允许 API 利用 WiFi 或移动蜂窝数据(或同时利用两者)来确定设备位置。API 返回的位置精确度大约相当于城市街区。
  • android.permission.ACCESS_FINE_LOCATION – 允许 API 利用包括全球定位系统 (GPS) 在内的可用位置提供商以及 WiFi 和移动蜂窝数据尽可能精确地确定位置。

下面介绍几种获取的方法:

1 安卓 SDK android.location.LocationManager

单独获取位置信息还是很简单的:

1
2
3
4
5
6
7
8
9
10
11
LocationManager mManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
return;
}
Location mLocation = mManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);//需要权限检测,上面添加

double mLat = location.getLatitude();//获取纬度
double mLng = location.getLongitude();//获取经度

git使用之五——Github上fork项目后与原项目保持同步

博客: 安卓之家
微博: 追风917
CSDN: 蒋朋的家
简书: 追风917
博客园: 追风917

git使用之一——git的基本使用
git使用之二——.gitignore文件详解
git使用之三——.git文件夹详解
git使用之四——windows下github桌面版的安装
git使用之五——Github上fork项目后与原项目保持同步
git使用之六——github协同工作的Fork+Pull Request
git使用之七——Android Studio下git的正确使用

问题由来


前几天在github上fork了个项目,今天发现了问题,原作者更新了代码,我的没变样,于是再次fork,仍然没有更新,郁闷了,网上搜索,发现遇到这问题的小伙伴不少呢,然后在此记录下,以便后面遇到同样问题的小伙伴可以迅速解决问题。

Android混淆那些事儿

博客: 安卓之家
微博: 追风917
CSDN: 蒋朋的家
简书: 追风917

每日一景

Android混淆


Android混淆是Android开发者经常使用的一种用于代码防止被反编译的常见手法,一般在Release模式生效,主要有三个作用:
1 压缩、优化、删除代码;
2 一定程度上提高反编译后被读懂的难度;
3 通过删除代码功能实现的特殊作用。
比如在可以运用混淆技术在发布版本不打印 Log.d等调试信息,防止敏感信息泄露,而在dubug模式下可以打印所有调试信息方便调试。

Android Studio 使用之文件模板

博客: 安卓之家
微博: 追风917
CSDN: 蒋朋的家
简书: 追风917

每日一景

作用


Android Studio 如何使用,来这里:打造安卓开发航空母舰

今天说的是文件模板在 Android Studio 中的使用,先聊下其作用。这里涉及安卓开发编码规范。

我们知道,安卓开发中常用的注释有文件注释,类注释,方法注释,类的成员变量注释,常量注释,xml文件注释等,而文件模板可以方便我们处理文件注释和类注释。我们先来段 Application.java 的源码开头部分:

Android Studio 开发错误 Installation failed with message INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

博客: 安卓之家
微博: 追风917
CSDN: 蒋朋的家
简书: 追风917

每日一景

之前所长给了个 CarLauncher 的项目,当时编译失败,少库,搁置了几天。

后来作者回复了我,我感觉那些库没用,就注释掉了,编译通过,也可以打包了,但是运行出现错误:

app

之前遇到过这个问题,当时是手机有个app,更改签名后再安装出现该界面,所以,删除旧的 app 就可以安装了。

,
Fork me on GitHub