Android
文章平均质量分 55
ithouse
这个作者很懒,什么都没留下…
展开
-
PJSIP编译
必须使用Linux编译,不要在Windows上浪费时间,编译好了再把so拷贝出来Windows即可。没有Linux?virtualbox搞一个Ubuntu不是什么难事,网速快的话半小时搞定。源码目录说明目录:lib: [PJPROJECT的lib库]pjlib:[基础框架库]pjlib-util:[辅助工具库]pjmedia:[开源的媒体栈]pjnath:[开源的NAT-T辅助库]pjsip:[开源的SIP协议栈]pjsip-apps[demo]配置准备VirtualBox6.1Ub原创 2022-02-23 11:53:39 · 2138 阅读 · 0 评论 -
高德地图定位相关
AMapUtils有一些计算测量相关的工具方法/** * (官方)计算两点之间的距离(米) */public static float calculateLineDistance(double lat1, double lng1, double lat2, double lng2) { lng1 *= 0.01745329251994329D; lat1 *= 0.01745329251994329D; lng2 *= 0.01745329251994329D; la原创 2021-11-18 09:52:02 · 503 阅读 · 0 评论 -
Android开发规范参考Java版
Android开发规范参考(Java版)一、命名风格1.类名使用 UpperCamelCase 风格不要中英文混合(通用拼音除外,如Beijing等),以每个单词首字母大写。2.方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格驼峰命名法,第一个单词首字母要小写,其他单词首字母大写。①为区分成员变量和局部变量,可以在书写成员变量时,第一个字母用m(member),其他单词遵循驼峰命名法,如mName。注意在写实体类时则不能用m表示member,因为实体类一般都是纯变原创 2021-11-01 21:42:14 · 2110 阅读 · 0 评论 -
记一次高德地图导致的句柄泄漏问题
Android应用开发过程中,内存泄漏是最常见的,句柄泄漏是怎么回事呢?当出现 Too many open files异常的时候,意味着文件句柄泄漏过多,句柄泄漏到一定数量之后(一般是接近1024)会导致程序卡死、文件读写异常、socket创建异常等。一般来说单一进程的最大可打开文件句柄数量为1024,可通过cat proc/进程ID/limits查看。概念:Fd的全称是File descriptor,在linux OS里,所有都可以抽象成文件,比如普通的文件、目录、块设备、字符设备、socket、管道原创 2021-10-11 17:26:32 · 821 阅读 · 0 评论 -
Android获取本地视频文件缩略图时导致视频播放失败
方案一:播放视频时取消缩略图的加载。缺点:应用层实现治标不治本,还是有几率出现。方案二:源码层实现,交给底层开发人员,应该是video so库出问题了(如libMtkOmxVdec.so)。...原创 2020-06-20 20:25:20 · 504 阅读 · 0 评论 -
GoogleDrive视频直链播放
String url = file.getDownloadUrl();String token = GoogleDriveManager.getInstance().getCredential().getToken();package com.itant.videotest;import android.content.Context;import android.media.Medi...原创 2020-06-20 19:58:20 · 2508 阅读 · 0 评论 -
获取Netflix ESN
import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.Build;import android.os.Handler;impor...原创 2020-06-20 19:01:16 · 1422 阅读 · 0 评论 -
Flutter官方国际化方案
1.安装插件File --> Settings… --> Plugins --> 搜索“flutter Intl”,安装该插件,重启AndroidStudio2.配置与初始化配置pubspec.yaml文件新增本地化依赖:dependencies: // Other dependencies... flutter_localizations: sdk: flutter然后package get获取该依赖工程初始化在菜单栏的Tool下找原创 2020-06-05 11:48:42 · 1635 阅读 · 1 评论 -
Flutter(Dart)开发规范及相关技巧总结
基础规范篇文件命名文件名有多个单词的话,需要使用下划线进行分割,且单词均为小写。字符串相关①普通字符串建议使用单引号括起来,而不是双引号,当然非要使用双引号也是没有错误的,习惯问题。②使用三个引号(三个单引号或三个双引号都可以)创建多行字符串String str = '''Hello Dart''';③使用r创建原始raw字符串// 如果没有r,则转义字符会生效(换行) String rawStr = r'Hello \n D原创 2020-06-04 17:45:01 · 1232 阅读 · 0 评论 -
PullToRefreshListView监听右划手势
在PullToRefreshListView中监听右划的动作并且监听到右划之后结束当前Activity 代码如下:final GestureDetector gestureDetector = new GestureDetector(this, new GestureDetector.OnGestureListener() { @Override pu原创 2015-04-29 15:37:47 · 961 阅读 · 0 评论 -
安卓报表MPAndroidChart之折线图
xml文件,主要关注标签为com.github.mikephil.charting.charts.LineChart的部分即可:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=原创 2015-05-19 11:03:51 · 4491 阅读 · 6 评论 -
安卓报表MPAndroidChart之柱状图
本人做的是关于猪舍的一个APP,需要将猪舍的环境数据(温度、湿度、和氨气浓度等)以报表的形式展现给客户,而且要求每隔1秒刷新一次报表数据。 xml文件,主要关注com.github.mikephil.charting.charts.BarChart标签内的:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android原创 2015-05-19 10:58:15 · 1493 阅读 · 0 评论 -
安卓打开浏览器
Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); Uri content_url = Uri.parse(http://www.jb51.net); intent.setData(content_url); startActivity(intent);转载 2015-05-19 10:49:05 · 575 阅读 · 0 评论 -
“网络获取经纬度-->获取所在城市名-->获取该城市天气”一条龙搞定
要用到jackson json相关jar包,请自行下载,我已经上传到csdn,免费,需要的可以下载: http://download.csdn.net/detail/ithouse/8787725还要用到xUtils相关jar包(可选,由于根据城市名获取天气的方法要用到几个参数和设定返回编码,我直接用xUtils来完成了。),我也上传到了csdn,免费,需要的可以下载: http://do原创 2015-06-09 11:41:56 · 983 阅读 · 0 评论 -
百度地图添加标记以及标记的点击
废话少说,直接上代码: MapActivity.javapackage com.wissea.trs.activity;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.graphics.Point;import android.os.Bundle;i转载 2015-05-22 16:26:20 · 5737 阅读 · 0 评论 -
安卓清理后台程序
private void clearMore() { int total = 0; int memorySize = 0; for (ProcessInfo infos : processInfoList) { if (infos.isChecked()) { ActivityManager am转载 2015-09-01 15:00:48 · 1500 阅读 · 1 评论 -
安卓开发常用方法集合
我将一年以来安卓开发的经验写成一个项目,提供很多便利而实用的方法,供大家使用。 本项目包含许多常用的工具方法,如系统相关的、应用相关的、命令行相关的、网络相关的、文件相关的、日期相关的、正则相关的、UI相关的等等。使用方法也非常简单:1.将本项目导入编辑器,引用本项目。2.所有的工具都由ToolFactory工厂产生,比如要使用DateTool中的获取当前日期方法,只需要两行代码:DateTool原创 2016-03-13 16:53:13 · 707 阅读 · 0 评论 -
安卓中根据图片文件名获取图片资源ID
方法一: /** * 获取图片名称获取图片的资源id的方法 * @param imageName * @return */ public int getResource(String imageName) { Context ctx = getBaseContext(); int resId = getResources().getIdentif转载 2016-01-14 19:56:59 · 2902 阅读 · 0 评论 -
安卓WebView
package com.ics.aop.activity;import android.annotation.SuppressLint;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.text.TextUtils;import andro原创 2015-12-10 09:52:25 · 435 阅读 · 0 评论 -
Ubuntu配置安卓环境
新建AndroidStudio快捷方式 打开终端: 输入cd /usr/share/applications,回车。 输入sudo touch studio.desktop,回车(新建studio.desktop空文件)。 (这里可能需要输入密码) 输入sudo chmod 777 studio.desktop,回车(让studio.desktop文件可读写)。 输入sudo vi s原创 2015-12-08 21:13:19 · 488 阅读 · 0 评论 -
监听EditText
et_scene = (EditText) findViewById(R.id.et_scene); et_scene.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, in原创 2015-11-14 10:48:15 · 459 阅读 · 0 评论 -
动态PieChart
/** * testDate 添加测试数据函数,实现接口后可去掉 * */ private void testData() { resultList.clear(); //0.1 float tempSum = 0.0f; Random random = new Random(); Re原创 2015-11-11 10:26:20 · 693 阅读 · 0 评论 -
IndexableListView的中国化版本
IndexableListView常用于联系人APP及音乐播放器类APP,能快速定位到想到达的位置。 这个版本是在woozzu的Github项目基础上,增加网友翻译的中文注释以及支持中英文混合排序,来不及对性能进行优化,有方向的网友可以在评论进行讨论。主要源码如下: IndexableListViewActivity.javapackage com.itant.indexablelistview原创 2015-11-05 17:07:47 · 967 阅读 · 0 评论 -
刚切换就让PullToRefreshListView呈现下拉状态刷新
if (HttpTool.isNetworkConnected(this)) { // 开始就呈现下拉状态 new Handler().postDelayed(new Runnable() { @Override public void run() {原创 2015-10-23 18:15:17 · 1710 阅读 · 0 评论 -
WebView显示完整网页
通过WebSettings settings = webView.getSettings(); settings.setUseWideViewPort(true); settings.setLoadWithOverviewMode(true); 就可以解决了,而且还可以实现双击放大,再次双击显示缩略图的功能转载 2015-10-13 18:13:47 · 1076 阅读 · 0 评论 -
解决ViewPagerIndicator标题显示不全的问题
修改源码中的TabPageIndicator.java,将默认的注释掉,换为如下代码即可://mTabLayout.addView(tabView, new LinearLayout.LayoutParams(0, MATCH_PARENT, 1)); mTabLayout.addView(tabView, new LinearLayout.LayoutParams(WRAP_CON转载 2015-10-10 17:27:36 · 2710 阅读 · 4 评论 -
根据图片的网络URL获取Bitmap
/** * 根据一个网络连接(String)获取bitmap图像 * * @param imageUri * @return * @throws MalformedURLException */ public static Bitmap getbitmap(String imageUri) { Log.v(TAG,转载 2015-10-06 14:12:40 · 10085 阅读 · 6 评论 -
Bitmap保存到本地
/* 保存方法 / public void saveBitmap() { Log.e(TAG, “保存图片”); File f = new File(“/sdcard/namecard/”, picName); if (f.exists()) { f.delete(); } try { FileOutputStream out = new FileO转载 2015-09-24 14:12:00 · 4661 阅读 · 0 评论 -
安卓分享之神一样的分享代码
神一样的代码: 针对image代码如下: Intentshare=newIntent(Intent.ACTION_SEND); share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));//此处一定要用Uri.fromFile(file),其中file为File类型,否则附件无法发送成功。 share.setType(“image/jp转载 2015-09-23 22:33:30 · 708 阅读 · 0 评论 -
zxing生成二维码
public class QrCodeUtil { // 生成QR图 public static Bitmap getQrCodeImage(int QR_WIDTH, int QR_HEIGHT, String text) throws WriterException { try { // 需要引入core包 QRCod转载 2015-09-23 16:58:58 · 498 阅读 · 0 评论 -
解决安卓启动界面白色/黑色瞬间
//1、设置背景图Theme<style name="Theme.AppStartLoad" parent="android:Theme"> <item name="android:windowBackground">@drawable/ipod_bg</item> <item n转载 2015-09-22 09:42:38 · 3917 阅读 · 0 评论 -
安卓软键盘(输入法)相关
1.ViewPager+Fragment+RadioGroup,输入法弹出的时候将RadioGroup顶起来。解决办法:在清单文件为该Activity添加android:windowSoftInputMode="adjustPan"2.在onClick事件中隐藏软键盘:InputMethodManager imm = (InputMethodManager)mContext.getSystemSer原创 2015-09-11 17:03:30 · 492 阅读 · 0 评论 -
ViewPager发生StackOverflowError
提示:android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5035)@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TO原创 2015-09-10 15:42:01 · 1178 阅读 · 0 评论 -
EditText相关
//在afterTextChanged中,调用setText()方法会循环递归触发监听器,必须合理退出递归,不然会产生异常 @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub for (in原创 2015-08-31 17:51:50 · 382 阅读 · 0 评论 -
启动第三方应用(未测试)
Intent intent = packageManager.getLaunchIntentForPackage("jp.co.johospace.jorte");//"jp.co.johospace.jorte"就是我们获得要启动应用的包名 startActivity(intent);转载 2015-08-20 08:53:54 · 470 阅读 · 0 评论 -
PackageManager相关
package com.ics.aop.fragment;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.Input原创 2015-08-20 08:50:42 · 442 阅读 · 0 评论 -
TextView代码setTextColor无效
illness_TV.setTextColor(R.color.gray); 这个错了你这样用变成 颜色指是 R.color.gray指示的ID值了 应该是 illness_TV.setTextColor(this.getResources().getColor(R.color.gray));转载 2015-08-19 09:07:10 · 1975 阅读 · 1 评论 -
相对布局里两个按钮居最中间
原理:定义一个透明的控件,让该控件居中,然后两个按钮分别在该透明控件的上方和下方即可。<TextView android:id="@+id/tv_center" android:layout_width="match_parent" android:layout_height="30dp" android:layout_centerI原创 2015-08-13 14:19:10 · 3997 阅读 · 0 评论 -
删除某目录下的文件夹和文件
/** * 删除某文件夹下面所有的报文 * @param rootFile 根目录 */ public static boolean deletePacketsByDirectory(File rootFile) { File[] files = rootFile.listFiles(); for (File file : fil原创 2015-08-12 16:32:32 · 767 阅读 · 0 评论 -
安卓开发多文件上传Spring MVC作为服务器端
服务器端核心代码:package com.missionsky.mvc.controller;import org.apache.commons.fileupload.FileUpload;import org.apache.commons.fileupload.FileUploadException;import org.apache.commons.fileupload.disk.DiskF原创 2015-08-11 10:29:14 · 4951 阅读 · 0 评论