Android
文章平均质量分 65
KindSuper_liu
沉下心来,踏踏实实做技术。
展开
-
Android通过读取AndroidManifest里面的meta-data获取参数
如题,在AndroidManifest里面的meta-data里面配置:<application> <meta-data android:name="TTAPPID" android:value="APPID123" /> </application>在代码里面可以获取value的值: public static String getMetaDataValue(Context ctx,原创 2021-11-29 17:35:37 · 2609 阅读 · 0 评论 -
android studio最新版引用项目的libs目录下的jar,arr文件
implementation fileTree(include:['*.jar'], dir:'libs') implementation fileTree(include:['*.aar'], dir:'libs')原创 2021-10-29 16:06:28 · 5209 阅读 · 0 评论 -
Android:compileSdkVersion、minSdkVersion、targetSdkVersion 的区别和作用
compileSdkVersion告诉 Gradle 用哪个版本的 Android SDK 编译你的应用,使用任何新添加的 API 就需要使用对应 Level 的 Android SDK。修改 compileSdkVersion 不会改变运行时的行为,当修改了 compileSdkVersion 时可能会出现新的编译警告、编译错误,强烈推荐总是使用最新的 SDK 进行编译,避免弃用的 API。此外,如果使用最新发布的 Support Library 就需要使用最新的 SDK 编译。例如使用 23.1.1原创 2021-08-31 19:13:40 · 1390 阅读 · 0 评论 -
android com.android.support:design库使用
一 引入 compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support:design:25.3.1'二 使用前主题要继承 Theme.AppCompat.Light.NoActionBar 或和Appcompat相关的主题,或者自定义主题。原创 2017-09-06 20:40:34 · 14667 阅读 · 1 评论 -
Android图片缓存
在移动设备上,用户访问网络需要消耗宝贵的流量,因此缓存策略就变得尤为重要。例如当用户第一次从网络加载图片后,就将其缓存到存储设备上,这样当下一次使用到这张图片时就不再从网络中获取。很多时候往往还在内存中缓存一份。这样,当用户加载图片时,首先会从内存中获取,如果内存中没有,那么就从存储设备中获取,最后才从网络下下载这张图片。目前常用的一种算法是LRU(Least Recently Used),近期最少原创 2017-08-01 00:03:52 · 460 阅读 · 0 评论 -
android多渠道打包
说到多渠道,这里不得不提一下友盟统计,友盟统计是大家日常开发中常用的渠道统计工具,而我们的打包方法就是基于友盟统计实施的。按照友盟官方文档说明,渠道信息通常需要在AndroidManifest.xml中配置如下值:原创 2017-06-19 20:45:59 · 292 阅读 · 0 评论 -
使用okhttp下载一个apk并安装
封装的下载类:/** * Created by lhc on 2017/6/21. * 1.应该先判断下载的文件是否存在 * 2.监听的接口应该抛到主线程中。 * * 1.怎么判断SD卡是否存在,是否已经满了? Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) * 2.怎么创建SD卡二级目录?原创 2017-06-22 00:49:22 · 4258 阅读 · 0 评论 -
Android实现异步请求
Android执行耗时操作或者访问网络不能放在主线程,实现异步请求可以使用Handle,或者是AsyncTask异步类。下面主要讲解AsyncTask怎么实现。AsyncTask异步类异步任务类让你能够在主线程中直接操作耗时的操作而不用重新开启一个线程。三个泛型类 public abstract class AsyncTask<Params, Progress, Result>params表示通过原创 2017-06-21 21:37:03 · 1838 阅读 · 0 评论 -
Android设置透明状态栏
protected void initSystemBar(){ Window window = getWindow(); if (translucentStatusBar()){ // 设置状态栏全透明 if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){原创 2017-09-01 18:30:56 · 399 阅读 · 0 评论 -
注解和反射结合使用例子
本文主要是记录注解的使用的学习笔记,如有错误请提出。在通常的情况下,我们在Activity中有一个View,我们要获得这个View的实例是要通过findViewById这个方法,然后这个方法返回的是一个Object类型,我们还需要进行强制的类型转换,但是相信很多人都遇到过,当我们的一个布局中有很多个控件的时候,每一个控件都要进行上面的这个操作其实是很烦躁的,特别是强制类型转换,即使是用Alt+En转载 2017-09-27 17:31:32 · 867 阅读 · 0 评论 -
android studio多渠道打包+混淆配置
1.android多渠道打包在manifest.xml文件中配置渠道号 <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}"/>在build.gradle下配置// 打包渠道 productFlavors { x原创 2017-06-20 12:56:59 · 834 阅读 · 0 评论 -
Android调用摄像头和拍照(兼容MIUI系统)
功能:点击一张图片,弹出对话框, 有选择相册和拍照两个选项,得到一张照片后再对照片进行裁剪,然后将照片显示在图片控件上。package com.example.pickphoto;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;imp...原创 2017-04-08 10:38:33 · 1629 阅读 · 0 评论 -
Android中的线程池
线程池的优点:重用线程池中的线程,避免因为线程的创建和销毁所带来的性能的开销。控制线程的最大并发数,避免大量的线程之间互相抢占资源而导致阻塞现象。能够对线程进行简单的管理。ThreadPoolExecutorThreadPoolExecutor是线程池的真正实现类。public ThreadPoolExecutor(int corePoolSize, ...原创 2018-04-22 22:22:33 · 114 阅读 · 0 评论 -
Android类加载机制
ClassLoader 类加载机制。ClassLoader的具体作用就是将class文件加载到jvm虚拟机中去,程序就可以正确运行了。但是,jvm启动的时候,并不会一次性加载所有的class文件,而是根据需要去动态加载。class文件认识通过javac命令将.java→.class,java虚拟机才能识别。类加载器Java语言自带三个类加载器 * Bootstr...原创 2018-04-22 22:23:55 · 160 阅读 · 0 评论 -
在写SDK时怎么不引用R文件而使用到res下的资源
在写SDK时,我们要使用到一些res目录下的文件,但是我们不知道别人的包名时什么,这时候就无法导入“包名.R”文件,这时候我们就可以用第二种方式加载Resource资源。public class ResourceUtils { public static int getStyleId(String paramString) { return getSty...原创 2018-05-23 21:02:53 · 396 阅读 · 0 评论 -
Android开发者网站目录索引
作者:吴小龙同學链接:https://zhuanlan.zhihu.com/p/25068519来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。最好的 Android 学习资料非官方 API 指南莫属。众所周知,Android开发者有中文网站了,API 指南一眼看去最左侧的菜单都是中文,然而点进去内容还是很多是英文,并没有全部翻译,我这里整理了API 指南的目录,转载 2017-06-17 17:00:00 · 492 阅读 · 0 评论 -
Android中的Dalvik和ART详解及区别分析
要想知道Dalvik和ART区别分析,首先我们要分别知道这两者是什么?什么是Dalvik? Dalvik是Google公司自己设计用于Android平台的虚拟机。 Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。 它可以支持已转换为 .dex格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的转载 2017-04-09 17:54:56 · 702 阅读 · 0 评论 -
Android下如何加载压缩图片
public void btn_3(View v) { // 加载sd卡下的图片 if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { File file=new File(Environment.getEx原创 2016-10-25 16:00:39 · 240 阅读 · 0 评论 -
文件保存和读取
case R.id.btn_save: try { String saveinfo = editText.getText().toString(); FileOutputStream fos = openFileOutput("data.txt", Context.原创 2016-09-22 09:47:50 · 379 阅读 · 0 评论 -
Spinner 自动揭示文本 二级列表
android:id="@+id/spinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:spinnerMode="dialog" android:prompt="@string/title"原创 2016-09-21 20:21:47 · 347 阅读 · 0 评论 -
在活动中使用Menu
在Menu文件夹下新建main.xnl文件xml version="1.0" encoding="utf-8"?>menu xmlns:android="http://schemas.android.com/apk/res/android"> item android:id="@+id/add_item" android:title="Add"/>原创 2016-09-21 20:09:51 · 326 阅读 · 0 评论 -
使用通知 Notification
首先需要一个NotificationManager来对通知进行管理NotificationManager nm=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);Notification.Builder notify = new Notification.Builder(MainActivity.this)原创 2016-09-21 19:41:51 · 275 阅读 · 0 评论 -
Eclipse与Android Studio最实用最常用快捷键集锦
Eclipse中最实用的快捷键:Ctrl+1 快速修复Ctrl+Shift+O 自动导入所需要的包Ctrl+D 删除当前行转载 2016-09-19 17:29:21 · 421 阅读 · 0 评论 -
Activity的生命周期
一运行时各个状态生命周期第一次运行Activity:onCreate--onStart--onResume退出:onPause--onStop--onDestroy跳转第二个Activity:onPause01--onCreate02--onStart02--onResume02--onstop01返回第一个Activity:onPause02--onRestart01--onStart...原创 2016-09-19 15:59:37 · 271 阅读 · 0 评论 -
Jsoup抓取数据
首先我们来看来自”http://www.zongheng.com/category/1.html“的一个html片段,了解其结构。 <div class="detail" style="display: block;"><em class="add jrsj_plus" bookId="609737"></em> <a class="mark63" href原创 2016-11-10 20:26:54 · 400 阅读 · 0 评论 -
ViewPager实现图片轮播
页面布局代码:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity原创 2016-11-12 21:47:04 · 345 阅读 · 0 评论 -
截取圆形图片
截取图片 1.从raw中获取图片 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView) findV原创 2016-11-12 11:12:15 · 445 阅读 · 0 评论 -
自定义 view,实现刮奖
自定义view,实现刮奖原创 2016-10-25 15:25:23 · 345 阅读 · 0 评论 -
Handler详解
一、Handler的用法post(Runnable)方法:使Runnable添加到消息队列。 利用这个方法可以在Runnable线程里更新UI。handler.post(new Runnable() { @Override public void run() { try {原创 2017-02-11 22:24:47 · 364 阅读 · 0 评论 -
百度地图api定位到当前城市
一、申请密钥主要难点是在获得发布版SHA1和开发版SHA1,期中发布版SHA1是必填的,新手可能不太了解,如果你没有使用Android Studio打包过签名文件,那么可以将C盘android的配置目录下的debug.keystore文件移动到工作空间的module项目下,如图所示: 然后在Android Studio下Alt+F12打开终端,cmd命令(cd 文件名)例如:(cd app)进入到原创 2016-11-23 22:31:03 · 5630 阅读 · 0 评论 -
android中src和background区别
ImageView中XML属性src和background的区别:background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸。src是图片内容(前景),bg是背景,可以同时使用。此外:scaleType只对src起作用;bg可设置透明度,比如在ImageButton中就可以用Android:scaleType控制图片的缩放方式,示例代码如下: <I转载 2016-12-16 11:36:13 · 313 阅读 · 0 评论 -
Volley不完全解析
Volley:适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。解析后直接运行在主线程。 okhttp:能直接得到response对象,能进行大文件的下载。StringRequest,JsonObjectRequest,ImageRequest的用法 此三种用法类似,,以StringRequest为例一般包括三个步骤:创建一原创 2016-11-10 21:20:06 · 319 阅读 · 0 评论 -
常用控件的使用
单选框<RadioGroup android:id="@+id/radio_g" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation=原创 2016-11-23 21:14:40 · 348 阅读 · 0 评论 -
Android动画详解
一、补间动画 (一)通过XML形式定义动画。 新建动画文件:res→new→Android resource file→Resource type选择 Animation.1.透明度渐变(AlphaAnimation)<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk原创 2016-11-13 00:01:57 · 318 阅读 · 0 评论