![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android开发相关
文章平均质量分 71
t000818
这个作者很懒,什么都没留下…
展开
-
android:layout_gravity 和 android:gravity 的区别
从名字上可以看到,android:gravity是对元素本身说的,元素本身的文本显示在什么地方靠着换个属性设置,不过不设置默认是在左侧的。android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置。比如说button: android:layout_gravity 表示按钮在界面上的位置。 android:gravity表示button上的字转载 2013-08-03 11:06:50 · 417 阅读 · 0 评论 -
View.setTag()与View.getTag()的作用,即可以识别列表项
这个东西在一些需要用到Adapter自定控件显示方式的时候非常有用Adapter 有个getView方法,可以使用setTag把查找的view缓存起来方便多次重用public View getView(int position, View convertView, ViewGroup parent) { ViewHolder vh; if (conver转载 2013-08-15 12:38:45 · 612 阅读 · 0 评论 -
Android 混淆与反编译(一)
这里直接用Android Studio来说明如何进行混淆,Android Studio自身集成Java语言的ProGuard作为压缩,优化和混淆工具,配合Gradle构建工具使用很简单,只需要在工程应用目录的gradle文件中设置minifyEnabled为true即可。然后我们就可以到proguard-rules.pro文件中加入我们的混淆规则了。因为开启混淆会使编译时间变长,所以debug原创 2017-09-16 14:20:28 · 401 阅读 · 0 评论 -
ByteBuffer详解
一、前言前一篇文章我们介绍了Android中直播视频技术的基础大纲知识,这里就开始一一讲解各个知识点,首先主要来看一下视频直播中的一个重要的基础核心类:ByteBuffer,这个类看上去都知道了,是字节缓冲区处理字节的,这个类的功能非常强大,也在各个场景都有用到,比如网络数据底层处理,特别是结合网络通道信息处理的时候,还有就是后面要说到的OpenGL技术也要用到,当然在视频处理中也是很重要转载 2018-01-10 14:16:48 · 17292 阅读 · 3 评论 -
Android Architecture Component Room持久化数据库(四) 使用Room DAO访问数据
版权声明:本文为博主原创文章,欢迎大家转载!但是转载请标明出处: https://blog.csdn.net/t000818/article/details/84290435 ,本文出自:【唐宏宇的博客】要使用Room persistence library访问应用程序的数据,您需要使用数据访问对象或DAO。这组Dao对象构成了Room的主要组件,每个DAO都包含了访问数据库的抽象方法,提...翻译 2018-11-20 16:08:44 · 745 阅读 · 0 评论 -
Android Architecture Component Room持久化数据库(五)迁移Room数据库
版权声明:本文为博主原创文章,欢迎大家转载!但是转载请标明出处: https://blog.csdn.net/t000818/article/details/84303795 ,本文出自:【唐宏宇的博客】在应用程序中添加和更改功能时,需要修改数据库实体类以映射这些更改。当用户更新到最新版本的应用程序时,您不希望它们丢失所有现有数据,尤其是在您无法从远程服务器恢复数据时。Room per...翻译 2018-11-20 18:50:56 · 669 阅读 · 0 评论 -
Android Architecture Component App架构指南
版权声明:本文为博主原创文章,欢迎大家转载!但是转载请标明出处: https://blog.csdn.net/t000818/article/details/84312601 ,本文出自:【唐宏宇的博客】本指南适用于过去开发过应用有一定基础知识的开发人员,现在希望了解开发强大的,可生产的高质量应用的最佳实践和建议的体系结构。手机App用户体验在大多数情况下,桌面应用程序只有一个来自...翻译 2018-11-21 20:06:16 · 227 阅读 · 0 评论 -
Android Architecture Component 集成架构组件
版权声明:本文为博主原创文章,欢迎大家转载!但是转载请标明出处: https://blog.csdn.net/t000818/article/details/84330091 ,本文出自:【唐宏宇的博客】 在开始之前,建议阅读“架构组件指南”。该指南包含一些适用于所有Android应用程序的有用原则,并展示了如何将架构组件一起使用。架构组件可从Google的Maven库获得。要使用它们...翻译 2018-11-21 21:05:44 · 357 阅读 · 0 评论 -
Android Architecture Component Room持久化数据库(一)概要
版权声明:本文为博主原创文章,欢迎大家转载!但是转载请标明出处: https://blog.csdn.net/t000818/article/details/84253457 ,本文出自:【唐宏宇的博客】Room persistence库为SQLite提供了一个抽象层,以便在利用SQLite的全部功能的同时实现更强大的数据库访问。应用程序可以从本地持久化数据中,处理比较重要的大批量的结...翻译 2018-11-19 19:21:53 · 361 阅读 · 0 评论 -
Android Architecture Component Room持久化数据库 (二)使用Room实体定义数据
版权声明:本文为博主原创文章,欢迎大家转载!但是转载请标明出处: https://blog.csdn.net/t000818/article/details/84258618 ,本文出自:【唐宏宇的博客】使用Room持久性库时,可以将相关字段集定义为实体。对于每个实体,在关联的Database对象中创建一个表来保存项目。必须通过Database类中的entities数组引用实体类。注意...翻译 2018-11-19 22:54:43 · 1592 阅读 · 0 评论 -
Android Architecture Component Room持久化数据库(三) 在数据库中创建视图
版权声明:本文为博主原创文章,欢迎大家转载!但是转载请标明出处: https://blog.csdn.net/t000818/article/details/84289212 ,本文出自:【唐宏宇的博客】在Room persistence library 的2.1.0及更高版本中提供了对SQLite数据库视图的支持,允许将查询封装到类中。 Room将这些查询支持的类称为视图,使用它们时和D...翻译 2018-11-20 11:17:40 · 725 阅读 · 0 评论 -
Android Architecture Component Data Binding Library (二) 开始集成
版权声明:本文为博主原创文章,欢迎大家转载!但是转载请标明出处: https://blog.csdn.net/t000818/article/details/84667772,本文出自:【唐宏宇的博客】 Data Binding 库是可以让我们使用声明性格式而不是以编程方式将布局中的UI组件绑定到应用中。下面将会介绍如何在开发环境中集成使用Data Binding库,包含在Androi...翻译 2018-12-03 11:27:03 · 181 阅读 · 0 评论 -
Android Architecture Component Data Binding Library (一) 概要
版权声明:本文为博主原创文章,欢迎大家转载!但是转载请标明出处: https://blog.csdn.net/t000818/article/details/84580412,本文出自:【唐宏宇的博客】 Data Binding 库是可以让我们使用声明性格式而不是以编程方式将布局中的UI组件绑定到应用中。布局在activities中的定义方式,通常是调用UI框架方法。例如,下面的代码调...翻译 2018-11-28 12:42:17 · 259 阅读 · 0 评论 -
Android中Bitmap和Drawable
一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Matrix矩阵二、Bitmap1、从资源中获转载 2013-08-15 21:13:48 · 522 阅读 · 0 评论 -
listView隔行设置颜色重写SimpleAdapter
public class SpecialAdapter extends SimpleAdapter { private int[] colors = new int[] { 0x30FF0000, 0x300000FF }; public SpecialAdapter(Context context, List> items, int resource, String转载 2013-09-26 10:39:29 · 1428 阅读 · 0 评论 -
Android中内容观察者的使用---- ContentObserver类详解
前言: 工作中,需要开启一个线程大量的查询某个数据库值发送了变化,导致的开销很大,后来在老大的指点下,利用了 ContentObserver完美的解决了该问题,感到很兴奋,做完之后自己也对ContentObserver做下总结。 ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,继而做一些相应的处理,它转载 2013-10-10 14:12:56 · 523 阅读 · 0 评论 -
Android开发:定制Activity的标题栏(Titlebar)
编辑titlebar.xml,使其内容如下:"1.0" encoding="utf-8"?> xmlns:Android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="f转载 2013-08-05 10:05:55 · 854 阅读 · 0 评论 -
自定义dialog无边框,包括黑边白边框
试了很多种,都没用,值不能用@null,不然还是有边框res/values/styles.xml#00000000 @android:color/transparent 其他的都可以不用设置,有些属性会继承下来,唯一一个没被继承的是 android:windowIsTranslucent">true,这个不设置也没影响转载 2013-08-22 14:58:21 · 1116 阅读 · 0 评论 -
android:shape的使用
shape> 实心 --> solid android:color="#ff9d77"/> 渐变 --> gradient android:startColor="#ff8c00" android:endColor="#FFFFFF" android:angle="270" /转载 2013-08-14 21:05:00 · 438 阅读 · 0 评论 -
关于自定义TitleBar不能完全显示的问题
看了好几篇,自定义TitleBar不能完全显示的解决方案,都不是太全,附上我自己的:第一步: requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); super.onCreate(savedInstanceState); setContentView(R.layout.main); getWind原创 2013-08-30 16:08:02 · 743 阅读 · 0 评论 -
自定义listView在屏幕里显示的高度
自定义listView在屏幕里显示的高度,在自定义有列表的Dialog时候用的着,不然列表会被拉得很长,影响感观!import android.content.Context;import android.util.AttributeSet;import android.widget.ListView;public class MyListView extend转载 2013-09-22 09:23:54 · 756 阅读 · 0 评论 -
通用的自定义的下拉刷新,上拉更多,适用listView,gridView,ScrollView
PullToRefreshView.javaimport android.content.Context;import android.util.AttributeSet;import android.util.Log;import android.view.LayoutInflater;import android.view.MotionEvent;import an转载 2013-09-22 09:40:32 · 1147 阅读 · 0 评论 -
用Tab页做的底部菜单
用Tab页做的底部菜单,里面主要有两个,一个是XML配置文件,一个实现类maintabs.xml xmlns:android="http://schemas.android.com/apk/res/android"> android:gravi原创 2013-09-22 08:43:16 · 734 阅读 · 0 评论 -
Android 6.0 新功能及主要 API 变更
伴随着新的特性和功能, Android 6.0 (API 级别 23)带来了一系列系统和 API 行为的变更。这篇文章中将介绍一些在应用程序中需要理解和注意的主要变更点。如果你之前已经发布过 Android 应用程序,要意识到这些变更对应用程序的影响。运行时权限这个版本中引入了新的权限模型,现在用户可以在运行时直接管理应用程序的权限。这个模型基于用户对权限控制的转载 2016-08-16 11:24:40 · 1485 阅读 · 0 评论 -
从零开始开发应用 客户端篇(一)
从今天开始,我将会记录下,我开发应用d原创 2014-07-02 21:23:13 · 664 阅读 · 0 评论 -
Activity与Fragment生命周期
Activity生命周期1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。在该阶段可以进行初始化工作,但注意如要在onResume里执行必须要加一个标记,否则会重复执行,影响用户体验!2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Ac转载 2014-02-28 18:25:34 · 842 阅读 · 0 评论 -
Android开发规范
一、Android编码规范1.java代码中不出现中文,最多注释中可以出现中文2.局部变量命名、静态成员变量命名只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写3.常量命名只能包含字母和_,字母全部大写,单词之间用_隔开4.layout中的id命名命名模式为:view缩写_模块名称_view的逻辑名称view的缩写详情如下LayoutView:lv转载 2014-02-20 10:22:39 · 424 阅读 · 0 评论 -
下载、缓存、解析XML文件(Pull解析)
TextView show1; TextView show2; TextView show3; String text1 = ""; String text2 = ""; String text3 = ""; String url = "http://192.168.1.111:8280/image/config/android_version_iCard.xml"; // URL地原创 2013-10-17 16:13:47 · 687 阅读 · 0 评论 -
自定义带DatePickerDialog
注意:这里的Dialog_Common是自定义的,请看我的另外一篇自定义Dialog_Common 点击按钮弹出对话框,设定的时间以Toast形式显示,布局我就不给了 but8.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) {原创 2013-10-10 14:26:05 · 852 阅读 · 0 评论 -
Android 测试(一)
概述测试是App整体开发流程的中的重要一部分,通过运行测试,可以在发布应用之前充分验证应用的正确性,功能特性和可用性。测试还有以下优点:对错误的快速反馈。 在开发周期中的早期错误检测。 更安全的代码重构,安心的优化代码而不必担心回归。 稳定的开发速度,帮助减少技术债。基本测试原理用户可以在各种层次上进行应用交互,从按下按钮到将信息下载到他们的设备上。因此,我们应该在迭...翻译 2019-05-21 11:00:59 · 1141 阅读 · 0 评论