随笔分类 - 01 Android
Android技术文章
摘要:libtgvoip目录为空 git clone下来的工程中带有submodule时,submodule的内容没有下载下来,执行如下命令 未找到google-services.json文件 注册Firebase 创建APP 获得google-services.json 拷贝到工程项目录下 欢迎大家交流
阅读全文
摘要:
Telegram 是一款跨平台的即时通信软件,它的客户端是自由及开放源代码软件。用户可以相互交换加密与自毁消息,发送照片、影片等所有类型文件。官方提供手机版、桌面版和网页版等多种平台客户端。
阅读全文

摘要:Mac系统默认下载到:/Users/(用户名)/.gradle/caches/modules-2/files-2.1Windows系统默认下载到:C:\Users\(用户名)\.gradle\caches\modules-2\files-2.1
阅读全文
摘要:(1)Android SDK (Android SDK主安装包,包含SDK Manager、AVD Manager、工具包tools,释放后的根文件夹为android-sdk-windows):revision 22.2.1http://dl.google.com/android/android-s...
阅读全文
摘要:WIFI就是一种无线联网技术,常见的是使用无线路由器。那么在这个无线路由器的信号覆盖的范围内都可以采用WIFI连接的方式进行联网。如果无线路由器连接了一个ADSL线路或其他的联网线路,则又被称为“热点”。在Android中对Wifi操作,android本身提供了一些有用的包,在android.net...
阅读全文
摘要:现在,Android的支持Wi -Fi的直接点对点点对点(P2P)Android系统的供电设备和其他类型的设备,没有一个热点或互联网连接之间的连接。Android框架提供了一套Wi - Fi的P2P的API,允许你去发现和连接到其他设备时,每个设备的Wi -Fi的直接支持,然后沟通跨越距离远远长于蓝...
阅读全文
摘要:1 SpannableString msp = new SpannableString("测试"+XM+"更换当前号码将从手机发送一条普通短信进行验证");2 msp.setSpan(new ForegroundColorSpan(Color.BLUE), 2, XM.length()+2, Spa...
阅读全文
摘要:Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:...
阅读全文
摘要:【Android】Android 移动应用数据到SD在应用的menifest文件中指定就可以了,在 元素中包含android:installLocation 属性,设置其值为"internalOnly"即可,如下: android:installLocation 还有另外两个属性值:"prefer...
阅读全文
摘要:一直接触这些东西,还是归个类整理一下比较好。Resource -> DrawableDrawable draw1 = this.getResources().getDrawable(R.drawable.icon);Drawable -> Bitmap1.static Bitmap drawable...
阅读全文
摘要:很多开发者表示,不知道Android的Drawable和Bitmap之间如何相关转换。下面给大家两种比较简单高效的方法。 一、Bitmap转Drawable Bitmap bm=xxx; //xxx根据你的情况获取 BitmapDrawable bd=BitmapDrawable(bm); Andr...
阅读全文
摘要:当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大...
阅读全文
摘要:命令格式:./maketek [option] [project] [action] [modules] Option: -t ,-tee :输出log信息到当前终端 -o , -opt=…… : 编译附加条件,一般使用-opt=TARGET_BUILD_VARIANT=user来...
阅读全文
摘要:Android中向webview注入js代码可以通过webview.loadUrl("javascript:xxx")来实现,然后就会执行javascript后面的代码。但是当需要注入一整个js文件的时候,貌似就有点麻烦了。不过理清以下思路,方法其实也很简单,如下:我们通过在webview的onPa...
阅读全文
摘要:1.下面的Xfermode子类可以改变这种行为:AvoidXfermode 指定了一个颜色和容差,强制Paint避免在它上面绘图(或者只在它上面绘图)。PixelXorXfermode 当覆盖已有的颜色时,应用一个简单的像素XOR操作。PorterDuffXfermode 这是一个非常强大的转换模式...
阅读全文
摘要:前言:最近开始研究Android自动化测试方法,对其中的一些工具、方法和框架做了一些简单的整理,其中包括android测试框架、CTS、Monkey、Monkeyrunner、benchmark、其它test tool等等。因接触时间很短,很多地方有不足之处,希望能和大家多多交流。一、 什么是MonkeyMonkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。二、 Monkey的特征1、 测试的对
阅读全文
摘要:MT8389大家都比较陌生,但如果我说MT6589估计大家都懂了,实质上MT8389是MT6589的一个分支,一个克隆分支,说得再明了些,就是MT6589的高耗版。如果把它看成是同一个CPU也是可以的。我认为,在讲解MT8389前,先给大家普及一下MTK CPU的基本知识是很有必要的,因为MTK的CPU发展有很大的连续性,比如智能手机芯片中蕴含着着功能手机的技术,而功能手机芯片中又融合了智能手机的基因,所以了解MTK新U前一定要追溯本源,才能理解的透彻,当然老鸟可以忽略,新人请往下看:MTK在移动领域CPU目前可以分为3个系列:1、MT62xx系列:该系列属于功能手机产品线,主要采用ARM7、
阅读全文
摘要:手工设置文本与图片相对位置时,常用到如下方法:setCompoundDrawables(left, top, right, bottom)setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom)意思是设置Drawable显示在text的左、上、右、下位置。但是两者有些区别:setCompoundDrawables 画的drawable的宽高是按drawable.setBound()设置的宽高,所以才有The Drawables must already have had setBounds(Rect) called.使用
阅读全文
摘要:PreferenceActivity是专业的设置界面,只要给它指定一个配置好的xml,它就能自动根据操作更改程序Preference的相应值。首先要用一个xml文件来配置一个设置界面,也就是我们说的 PreferenceScreen,然后用PreferenceActivity将其显示。比如在res目录下建立一个xml文件夹,然后新建一个seeting.xml文件。内容如下: checkBoxPreference对应一个boolean值,EditTextPreference对应一个String。android:key是标识符,必须是唯一的。每次更改界...
阅读全文
摘要:activity-alias是android里为了重复使用Activity而设计的。当在Activity的onCreate()方法里,执行getIntent().getComponent().getClassName();得到的可能不是这个Activity的名字,有可能是别名的名字,例如:在AndroidMenifest.xml有如下配置: 这个应用会在桌面上建两...
阅读全文