Android 开发实战大全
文章平均质量分 70
记录Android开发过程中遇到的问题及解决方案。
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
积跬步DEV
一枚开发工程师!
展开
-
Glide 设置图片圆角和 scaleType 冲突
android:scaleType=“fitStart”:等比缩放,直到一边充满,另一边小于等于边界,较小一边与ImageView头部对齐。android:scaleType=“fitEnd”:等比缩放,直到一边充满,另一边小于等于边界,较小一边与ImageView尾部对齐。等比缩放,直到一边充满ImageView,另一边大于等于ImageView边界,超出ImageView的那一边被居中裁剪。7.android:scaleType=“fitXY”:不等比缩放,拉伸并缩放图片,直到完全填充。原创 2023-07-24 19:50:40 · 835 阅读 · 0 评论 -
Android学习 ——Android中如何使用WIFI来连接ADB
有的时候,我们限于种种原因,无法使用USB来连接设备进行调试,此时,可以通过Wifi连接来进行。首先打开手机的wifi设置,使其连接到网络。然后,需要在手机上对adb连接端口进行设置,这里需要有root权限的终端(terminal)应用,这种类型的应用在各个Market都有不少,选择一个适合的就可以了。本文所使用的为超级终端专业版Better Terminal。然后,在手机中打开这原创 2012-03-31 11:25:48 · 1432 阅读 · 0 评论 -
Android学习——Android 系统中的UID、GID、GIDS与PID
Android 系统中的UID、GID、GIDS与PID 在 Android 上,一个用户 UID 标示一个应用程序。应用程序在安装时被分配用户 UID,应用程序在设备上的存续期间内,用户 UID 保持不变。对于普通的应用程序,GID即等于UID。 GIDS 是由框架在 Application 安装过程中生成,与 Application 申请的具体权限相原创 2017-03-02 17:30:17 · 7249 阅读 · 0 评论 -
Android快速开发教程备忘录
Android DataBinding 从入门到进阶https://www.jianshu.com/p/bd9016418af2原创 2020-11-11 22:26:49 · 388 阅读 · 0 评论 -
android学习——android项目的的目录结构
然后我们看一下Helloword的程序目录: 我们可以看到 大致有的文件: 1. MainHelloWorld.java文件 2. R.java文件 3. android.jar文件 4. RES、Layout、main.xml文件 5. androidmainfest.xml文件 还有目录大致有原创 2012-05-02 10:04:32 · 1132 阅读 · 0 评论 -
Android学习——命名规范
Use common naming conventions for icon assetsTry to name files so that related assets will group together inside a directory when they are sorted alphabetically. In particular, it helps to use a c原创 2013-12-24 11:48:06 · 1250 阅读 · 0 评论 -
Android学习——Android试题
1,谈谈你对Activity的理解?对于这种“你对什么什么怎么理解”的面试题,最好的回到方式就是用你自己的理解说出来,通俗中夹杂些专业术语,偶尔再蹦出几个英文。当然如果你很牛X,你可以往深了说,只要别漫无目的的说就行。围绕一条主线。这其中如果你对某一方面比较精通,你就应该往你精通的方向引。面试官可能就会顺着你的思路走了。不过现在有很多面试问Android方面的知识不多,问java方面的比较转载 2013-10-18 10:01:36 · 1369 阅读 · 0 评论 -
Dalvik VM (DVM) 与Java VM (JVM)的区别
Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为.dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。(dx 是一套工具,可以将 Java .class 转换成 .dex 格式. 一个dex档通常会有多个.class。由于dex有...转载 2018-06-07 13:22:07 · 341 阅读 · 0 评论 -
Anroid——Android Service 学习
Android开发的过程中,每次调用startService(Intent)的时候,都会调用该Service对象的onStartCommand(Intent,int,int)方法,然后在onStartCommand方法中做一些处理。我们注意到这个函数有一个int的返回值,那就来简单地讲讲int返回值的作用。从Android官方文档中,我们知道onStartComma原创 2014-03-04 10:38:09 · 810 阅读 · 0 评论 -
adb操作命令详解及大全
adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让ID原创 2011-10-11 19:07:48 · 319200 阅读 · 8 评论 -
Android 和php 短接base64 乱码问题
@猪一样的队友 Android 端 base64 之后 的url 到php 端 乱码 解决 方法 var_dump(base64_decode(str_replace(" ","+",urldecode($a))));原创 2015-07-20 10:47:14 · 2483 阅读 · 0 评论 -
Android 查看依赖的方法,妈妈再也不用担心jar包冲突找不到了
前言我们开发过程中,难免会遇到这样的情况:在github等网站上找到了几个不错的项目,高高兴兴的compile过来,然后:UNEXPECTED TOP-LEVEL EXCEPTION:com.android.dx.util.DexException: Multiple dex files define ………………………………1234正文遇到这种问题,我们看错误信息只能知道有jar包冲突,是...转载 2018-06-06 14:55:16 · 5332 阅读 · 1 评论 -
SharedPreferences 存储对象
public static String oToBase64String(Object o) throws Exception { // 创建字节输出流 ByteArrayOutputStream baos = new ByteArrayOutputStream(); // 创建对象输出流,并封装字节流 ObjectOutputStream oos = new ObjectOutp原创 2015-07-09 15:17:44 · 863 阅读 · 0 评论 -
Android学习—— Handler 的消息发送,在新的线程处理消息
1 Handler基本概念: Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分逐个的在消息队列中将消息取出,然后对消息进行出来,就是发送消息和接收消息不是同步的处理。 这种机制通常用来处理相对耗时比较长的操作。2.在新线程处理 Handler handler =new Handler();原创 2011-11-27 14:03:14 · 6480 阅读 · 0 评论 -
android学习——DatePicker 和 TimePicker
public class HelloDatePicker extends Activity { private static final int DATE_PICKER_ID = 0; private static final int TIME_PICKER_ID = 1;原创 2011-10-18 16:02:04 · 1783 阅读 · 0 评论 -
android学习——ExpandableListView控件
ExpandableListView 可扩展的ListViewxmlmain.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent"原创 2011-10-19 22:08:35 · 906 阅读 · 0 评论 -
Android学习——图片异步加载工具类 用到了SoftReference
来源与网络,具体地址忘记了,写篇博客记录下 ,方便自己以后使用 。 谢谢原作者 。public class AsyncImageLoader { public Map> imageCache = new HashMap>(); // 固定五个线程来执行任务 private ExecutorService executorService = Executors.newFixed原创 2012-06-19 15:45:59 · 2978 阅读 · 1 评论 -
Gradle 使用
Cannot call getBootClasspath() before setTargetInfo() is called.classpath 'com.android.tools.build:gradle:1.1.0'修改classpath 'com.android.tools.build:gradle:1.1.2'原创 2015-04-18 16:43:43 · 3892 阅读 · 0 评论 -
Android学习-ScrollView LinearLayout View
ScrollView 套 LinearLayout 包含 View 死活报错。 删除View 就好。原创 2016-09-12 14:08:01 · 644 阅读 · 0 评论 -
gradle 排除本地项目 部分依赖
(2015-12-04 17:27:17)转载▼ 分类: android gradle 排除部分依赖坐标:以前都是以为只有 用坐标依赖时,才能使用 exclude 类似compile ('com.ali.reactandroid:react_android:0.8.0-SNAPSHOT'){transitive = trueexclude group: '...原创 2018-12-25 11:12:29 · 1424 阅读 · 0 评论 -
android学习——AutoCompleteTextView
1.main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:lay原创 2011-10-18 16:52:54 · 814 阅读 · 0 评论 -
Android Webview中调用本地java方法
http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface%28java.lang.Object,%20java.lang.String%29http://blog.csdn.net/zgjxwl/article/details/9627685ht原创 2015-07-13 10:21:21 · 3784 阅读 · 0 评论 -
android学习——ConnectivityManager 简单的使用 判断网络状态
package com.hujl.util;import android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo;public class NetUtil { public static boolean checkNet(Context context原创 2012-01-04 13:57:27 · 3632 阅读 · 0 评论 -
Android学习——PreferenceActivity 用发详细介绍
前言 这段时间在研究android平台上的开源项目——StandupTimer,这是由jwood所设计的一个较为简单android应用,用于控制会议时间,类似秒表倒计时。PreferenceActivity PreferenceActivity是android提供的对系统信息和配置进行自动保存的Activity,它通过SharedPreference方式将信息保存在XM原创 2012-03-14 16:21:32 · 2243 阅读 · 0 评论 -
Android WebView 中音频关闭问题的解决方法,简单粗暴
@Override protected void onPause () { webView.reload (); super.onPause (); }原创 2018-01-22 16:09:01 · 3314 阅读 · 3 评论 -
Android学习——AndroidX
AndroidX 概览AndroidX 是 Android 团队用于在Jetpack中开发、测试、打包和发布库以及对其进行版本控制的开源项目。AndroidX 对原始 Android支持库进行了重大改进。与支持库一样,AndroidX 与 Android 操作系统分开提供,并与各个 Android 版本向后兼容。AndroidX 完全取代了支持库,不仅提供同等的功能,而且提供了新的库...原创 2019-07-11 10:51:35 · 633 阅读 · 0 评论 -
Android学习——解决NestedScrollView 布局不能撑满屏幕的问题
发现使用NestedScrollView嵌套使其布局超出屏幕时滑动;想让最后一个子布局位于屏幕最底方;各种方法都不行,后来发现NestedScrollView 的 子布局不能撑满整个屏幕,而是包裹内容,按照wrap_content来计算,哪怕写的 match_parent也没用;解决办法:添加属性:android:fillViewport="true"<...原创 2020-03-31 14:36:11 · 2258 阅读 · 0 评论 -
Android进阶——通过反射修改TabLayout 的颜色
private void setIndicatorColor(TabLayout tabLayout,int color){ try { Field field = TabLayout.class.getDeclaredField("mTabStrip"); field.setAccessible(true); Object ob = fi...原创 2018-08-08 14:50:31 · 589 阅读 · 0 评论 -
Android 获取控件id的三种方式
前言:获取控件是入门的基本的,相信这个不用说就知道怎么得到资源文件中的控件id有findViewbyid 有注解方式 反射的方式通过findViewbyid获取 原理 我们点击进入Activity.java类中看源码,通过源码我们发现返回的是getWindow.findViewById,这个window是什么呢?我们再次点击进去看看, ···/*** Find...转载 2019-03-29 14:28:38 · 10104 阅读 · 0 评论 -
代码设置view的大小
设置view大小时不用设置 new TextView(); , 只需要设置params , 之后再addView 时加入即可 。如图:原创 2015-06-23 20:15:14 · 1985 阅读 · 0 评论 -
Kotlin for循环的几种使用方法
在Kotlin中想遍历1-100的数值可以这样写:for (index in 1..100){ print(index) }这样写是正序遍历,如果想倒序遍历就该使用标准库中定义的downTo()函数:for (index in 100 downTo 1){ print(index) }想不使用1...原创 2019-09-12 13:11:13 · 8819 阅读 · 0 评论 -
解决ActionBar中的item不显示在ActionBar的问题
今天在用ActionBar,需要增加一个菜单选项,按教程在/res/menu下对应的布局文件中添加了一个item,但是它却是显示在overflow中,而不是直接显示在ActionBar当中的。我的布局文件是这么写的:[html] view plaincopymenu xmlns:android="http://schemas.android.com/转载 2014-09-05 11:06:01 · 782 阅读 · 0 评论 -
Android学习——陌生的onRestart
在Android中,你需要熟悉Activity生命周期的运作机制,才能更好的把握她。可以看下这个流程图onResume的调用途径更多,用处就是获得焦点使得Activity处于可交互状态。包括Activity创建后和重新启动。我们经常会看到有些窗口被另外一个透明窗口覆盖,虽然能看到但无法对他进行操作,这时的Activity就没有获得用户焦点。生原创 2016-09-08 10:20:33 · 3149 阅读 · 0 评论 -
Android布局文件使用<include>标签出现NullPointerException问题
出现问题在布局文件中使用标签大家肯定都不陌生,能减少冗余的代码。之前写项目中也一直在用到,但是有一次用的时候直接出现了NullPointerException的问题,下面是出现问题的代码出错的地方Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Rela原创 2018-02-01 09:27:48 · 470 阅读 · 0 评论 -
android学习——EditText的属性
EditText继承关系:View-->TextView-->EditText。EditText的属性很多,这里介绍几个:android:layout_gravity="center_vertical"设置控件显示的位置:默认top,这里居中显示,还有bottomandroid:hint="请输入数字!"设置显示在空间上的提示信息android:numeri原创 2012-01-13 16:25:05 · 859 阅读 · 0 评论 -
Anroid学习——Webview
//打开本包内asset目录下的index.html文件wView.loadUrl(" file:///android_asset/index.html "); //打开本地sd卡内的index.html文件wView.loadUrl("content://com.android.htmlfileprovider/sdcard/index.html");原创 2013-11-22 17:14:56 · 1107 阅读 · 0 评论 -
android学习——处理 EditText 右下角为Done,回车 的情况
如上图 :1. . 设置 EditText android:imeOptions="actionDone"2. 设置 EditText setOnEditorActionListener 事件 @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {原创 2012-07-25 15:13:03 · 7497 阅读 · 0 评论 -
Android ImageView 设置top_crop center_crop bottom_crop
center_crop 删除超过imageview 的顶部和底部 , 但是如果从底部删除保留顶部就需要用代码实现 top_crop保留顶部 截多余的底部Matrix matrix = imageView.getImageMatrix();float scaleFactor = imageViewimageViewimageView.getWidth() / (float)原创 2015-07-20 16:16:54 · 3176 阅读 · 1 评论 -
Eclipse 中文语言包安装以 adt cdt 插件 安装
用了这么久头一次发现 Eclipse的版本这么迷离 , 太高深了 ,代号特多 ,直接看图 语言包 http://www.eclipse.org/babel/downloads.php 这是官方语言包地址 以我的Eclipse版本为 Version: Helios Service Release 2 为例,在上面的网页中查找Helios,以现在的主页为例,查找后原创 2012-04-25 14:52:17 · 11033 阅读 · 0 评论 -
Android学习——记录代码片段
private void creatMenuDialog(User user) { View view = MessageDetailAdapter.this.inflater.inflate( R.layout.user_info_dialog, null); Dialog selectDialog = new Dialog(context, R.style.info_dia原创 2013-06-26 10:42:05 · 1078 阅读 · 0 评论