-
android02
-
Android产生随机数1.产生指定位数的随机数以产生6位数随机数为例int num = (int) ((Math.random() * 9 + 1) * 100000);产生其他位数随机数在最后面要乘的数即 100000 后加0即可2.产生指定范围的随机数以产生[10,99]范围内的随机数为例int min=10;
int max=99;
Random random = new Random
-
android01
-
上面一文中我们讲过android系统中比较重要的几个进程:init进程,Zygote进程,SystemServer进程已经各种应用进程,其中Zygote进程是整个android系统的根进程,包含SystemServer进程已经各种应用进程在内的进程都是通过Zygote进程fork出来的,具体可参见: android源码解析之(八)-->Zygote进程启动流程那么SystemServer进程
-
android
-
基本的命名法Java编程比较常见的有下面三种命名方式
1. 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写(例如:int myCurrentAge = 25)
2. 帕斯卡(pascal)命名法:又称大驼峰命名法,所有单词的第一个字母大写( 例如 :int MyCurrentAge = 25;)
3. 下划线命名法:单词与单词间用下
-
android00
-
今天给大家带来2017年的第一篇文章,这里先祝大家新年好。
本篇文章的主题是ConstraintLayout。其实ConstraintLayout是Android Studio 2.2中主要的新增功能之一,也是Google在去年的I/O大会上重点宣传的一个功能。我们都知道,在传统的Android开发当中,界面基本都是靠编写XML代码完成的,虽然Android Studio也支持可视化的方式来编写
-
android01
-
国内的Android开发者还是很苦逼的,由于众所周知的原因,google play无法再国内打开,所以android系的应用市场,群雄争霸,而后果就是国内存在着有众多的应用市场,产品在不同的渠道可能有这不同的统计需求,为此android开发人员需要为每个应用市场发布一个安装包,这里就涉及到了android的多渠道打包。本文主要讲解的就是几种主流的多渠道打包方式,以及其优劣势。通过配置gradle脚
-
android
-
Android 库在结构上与 Android 应用模块相同。它可以提供构建应用所需的一切内容,包括源代码、资源文件和 Android 清单。不过,Android 库将编译到您可以用作 Android 应用模块依赖项的 Android 归档 (AAR) 文件,而不是在设备上运行的 APK。与 JAR 文件不同,AAR 文件可以包含 Android 资源和一个清单文件,这样,除了 Java 类与方法外
-
android00
-
Android 获取app版本号直接上代码: /**
* 获取版本号
* Context context
* @return 版本号
*/
public static String getAppVersionName(Context context) {
String versionName = "";
-
cnbzlj
-
今天,简单讲讲android如何调用手机自带的播放器。昨天,从服务器下载一个AVI的视频,下载后需要进行播放,所以想调用系统自带的播放器。但是由于很少用到,所以自己当时不知道怎么写,于是在网上查找资料,最终是解决了问题。这里记录一下。一.网上的常见调用播放器代码(存在问题)String url = "http://192.168.0.1/1.mp4"
Intent intent = new In
-
android01
-
去年一整年android社区中刮过了一阵热修复的风,各大厂商,逼格大牛纷纷开源了热修复框架,恩,产品过程中怎么可能没有bug呢?重新打包上线?成本太高用户体验也不好,咋办?上热修复呗。好吧,既然要开始上热修复的功能,那么就得调研一下热修复的原理。下面我将分别讲述一下热修复的原理,各大热修复框架的比较,以及自身产品中热修复功能的实践。热修复的原理通过更改dex加载顺序实现热修复最新github上开源
-
android01
-
上一篇文章中我们讲解了App的数据统计,其主要分为两种:使用第三方服务统计和自身实现数据统计。一般而言我们使用第三方统计服务已经可以很好的满足我们的也无需求了,只是部分数据敏感性App,可能自身实现数据统计服务是一个更好的选择。而本文中将要介绍的是App端的网络传输协议。那么这里首先需要明确一点的是什么是网络传输协议呢?好吧,这里首先套用一段百度百科的定义:网络传输协议或简称为传送协议(Commu
-
android01
-
上一篇文章中我们介绍了android开发中经常会涉及到但又常常被忽视掉的开发者模式。主要讲解了包括如何打开手机的开发者模式,开发者模式中各个菜单的意义和作用,如何清除手机App数据,以及清除手机App数据具体清除那些数据等知识点,具体关于android中开发者模式的知识,可参考我的: android产品研发(十六)-->开发者选项本文将介绍android中hybird开发相关的知识点。hyb
-
android
-
Glide是谷歌推荐的一款加载图片的第三方框架,对内存优化更好,更省资源,它的优点,我就不一一描述了,有兴趣的朋友可以百度一下,介绍的还是挺详细的。今天主要给大家介绍一下关于怎么获取Glide的图片缓存和清除图片缓存,其实很简单,下面是写的一个工具类,简单易懂,便捷好用!packagecom.jiluo.paipai.util;
importandroid.content.Context;
-
android01
-
上一篇文章中我们介绍加单说明了一下android的编码规范,这里我是强烈建议大家在团队合作中约定编码规范的,哪怕是一个并不是十分规范的规范总比没有规范好得多,尤其是团队产品的研发,对产品的持续迭代过程中你会越发的意识到编码规范对产品迭代的好处,当然了,这里并不是要求大家一定按照文中给出的编码规范作为团队中使用的编码规范,而是希望大家在团队合作中能够约定出自身的编码规范,哪怕其并不是十分的规范。而这
-
android01
-
上一篇文章中我们讲解了android中的实用调试技巧。讲解了android中的原生Log API以及其使用方式,讲解了自定义日志API、使用方式和实现原理,讲解了通过gradle配置日志框架在正式环境中屏蔽日志信息等。最后我们还重点讲解了android studio中的断点调试技巧,主要包括:断点调试功能、日志断点、求值调试、异常断点、方法断点等。更多关于android中实用调试技巧的知识,可以参
-
ios
-
实况天气接口文档(1天) - 3小时更新一次声明: v1七日,v6实况天气接口无需注册,永久免费,请放心使用! (仅限于个人非商业用途, 日限5万次)商用请付费, 以便获得更快的更新频率和稳定性!
API地址GET https://www.tianqiapi.com/api/?version=v6
GET参数
参数
类型
必填
备注
-
android01
-
上一篇文章中我们讲解了android app中的升级更新操作,app的升级更新操作算是App的标配了,升级操作就是获取App的升级信息,更新操作是下载,安装,更新app,其中我们既可以使用app store获取应用的升级信息,也可以在应用内通过请求本地服务器获取应用的升级信息,并通过与本地app的版本号对比判断应用是否需要升级。升级信息是app更新的基础,只有我们的app的升级信息指明需要更新,我
-
kotlin
-
一、定义包包的声明应处于源文件顶部:package my.demo <span class="redactor-invisible-space"> </span>import java.util.* <span class="redactor-invisible-space"> </span>// …… 目录与包的结构无需匹配:源代码可以在文件系统的
-
android
-
这个问题遇到过很多次,网上也有很多解决办法,但是好像都没有发现refreshing gradle project在做什么。可以再试试./gradlew --info看看详细信息。一般refreshing gradle project出现在打开一个新工程或者升级Android Studio之后,为什么需要refreshing呢?问题就出在gradle-wrapper.properties这个文件上,
-
android00
-
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45303349; 本文出自:【张鸿洋的博客】1、概述随着Material Design的逐渐的普及,业内也有很多具有分享精神的伙伴翻译了material design specification ,中文翻译地址:Material Design 中文版。So,我们也开始Androi
-
cnbzlj
-
今天,简单讲讲android里如何解决String.format在切换语言时存在的问题。
之前,我写过一篇博客,讲关于String.format的基本使用,大家如果没有看过,建议看看或者去网上查找资料。但是昨天,发现当手机切换成阿拉伯语时,String.format格式化的数据是一串奇怪的字符串。于是在网上查找资料,最终解决了问题。这里记录一下。
这里还是先回顾一下String.format的