package com.lukejun.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.util.Log;
/**
* 工具类
*
*/
public class BaseHelper{
public static final String PARAM_EQUAL = "=";
public static final String PARAM_AND = "&";
/**
* 流转字符串方法
*
* @param is
* @return
*/
public static String convertStreamToString(InputStream is)
{
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try
{
while ((line = reader.readLine()) != null)
{
sb.append(line);
}
} catch (IOException e)
{
e.printStackTrace();
} finally
{
try
{
is.close();
} catch (IOException e)
{
e.printStackTrace();
}
}
return sb.toString();
}
/**
* 显示dialog
*
* @param context
* 环境
* @param strTitle
* 标题
* @param strText
* 内容
* @param icon
* 图标
*/
public static void showDialog(Activity context, String strTitle,
String strText, int icon)
{
try
{
AlertDialog.Builder tDialog = new AlertDialog.Builder(context);
tDialog.setIcon(icon);
tDialog.setTitle(strTitle);
tDialog.setMessage(strText);
tDialog.setPositiveButton("确定", null);
tDialog.show();
} catch (Exception e)
{
}
}
/**
* 打印信息
*
* @param tag
* 标签
* @param info
* 信息
*/
public static void log(String tag, String info)
{
Log.i(tag, info);
}
/**
* 获取权限
*
* @param permission
* 权限
* @param path
* 路径
*/
public static void chmod(String permission, String path)
{
try
{
String command = "chmod " + permission + " " + path;
Runtime runtime = Runtime.getRuntime();
runtime.exec(command);
} catch (IOException e)
{
e.printStackTrace();
}
}
//
// show the progress bar.
/**
* 显示进度条
*
* @param context
* 环境
* @param title
* 标题
* @param message
* 信息
* @param indeterminate
* 确定性
* @param cancelable
* 可撤销
* @return
*/
public static ProgressDialog showProgress(Context context,
CharSequence title, CharSequence message, boolean indeterminate,
boolean cancelable)
{
ProgressDialog dialog = new ProgressDialog(context);
dialog.setTitle(title);
dialog.setMessage(message);
dialog.setIndeterminate(indeterminate);
dialog.setCancelable(false);
dialog.show();
return dialog;
}
/**
* 字符串转json对象
*
* @param str
* @param split
* @return
*/
public static JSONObject string2JSON(String str, String split)
{
JSONObject json = new JSONObject();
try
{
String[] arrStr = str.split(split);
for (int i = 0; i < arrStr.length; i++)
{
String[] arrKeyValue = arrStr[i].split("=");
json.put(arrKeyValue[0],
arrStr[i].substring(arrKeyValue[0].length() + 1));
}
}
catch (Exception e)
{
e.printStackTrace();
}
return json;
}
public static JSONObject string2JSON(String str)
{
try
{
return new JSONObject(str);
} catch (JSONException e)
{
e.printStackTrace();
}
return new JSONObject();
}
public static String toJSONString(Object obj)
{
JSONObject json = new JSONObject();
try
{
List<NameValuePair> list = bean2Parameters(obj);
for (NameValuePair nv : list)
{
json.put(nv.getName(), nv.getValue());
}
} catch (JSONException e)
{
e.printStackTrace();
}
return json.toString();
}
/**
* 将bean转换成键值对列表
*
* @param bean
* @return
*/
public static List<NameValuePair> bean2Parameters(Object bean)
{
if (bean == null)
{
return null;
}
List<NameValuePair> parameters = new ArrayList<NameValuePair>();
// 取得bean所有public 方法
Method[] Methods = bean.getClass().getMethods();
for (Method method : Methods)
{
if (method != null && method.getName().startsWith("get")
&& !method.getName().startsWith("getClass"))
{
// 得到属性的类名
String value = "";
// 得到属性值
try
{
String className = method.getReturnType().getSimpleName();
if (className.equalsIgnoreCase("int"))
{
int val = 0;
try
{
val = (Integer) method.invoke(bean);
} catch (InvocationTargetException e)
{
Log.e("InvocationTargetException", e.getMessage(),
e);
}
value = String.valueOf(val);
} else if (className.equalsIgnoreCase("String"))
{
try
{
value = (String) method.invoke(bean);
} catch (InvocationTargetException e)
{
Log.e("InvocationTargetException", e.getMessage(),
e);
}
}
if (value != null && value != "")
{
// 添加参数
// 将方法名称转化为id,去除get,将方法首字母改为小写
String param = method.getName().replaceFirst("get", "");
if (param.length() > 0)
{
String first = String.valueOf(param.charAt(0))
.toLowerCase();
param = first + param.substring(1);
}
parameters.add(new BasicNameValuePair(param, value));
}
} catch (IllegalArgumentException e)
{
Log.e("IllegalArgumentE
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
aidl跨进程调用(移动支付插件) (107个子文件)
IPayService.aidl 302B
IPayService.aidl 302B
IPayService.aidl 302B
IPayService.aidl 302B
IPayService.aidl 302B
IPayService.aidl 302B
IRemoteServiceCallback.aidl 267B
IRemoteServiceCallback.aidl 267B
IRemoteServiceCallback.aidl 267B
IRemoteServiceCallback.aidl 267B
IRemoteServiceCallback.aidl 267B
IRemoteServiceCallback.aidl 267B
resources.ap_ 22KB
resources.ap_ 5KB
RemoteClientTest.apk 36KB
RemoteServerTest.apk 13KB
RemoteServerTest.apk 13KB
proguard.cfg 1KB
BaseHelper.class 9KB
MobileSecurePayHelper.class 6KB
IPayService$Stub$Proxy.class 3KB
IPayService$Stub$Proxy.class 3KB
IRemoteServiceCallback$Stub.class 3KB
IRemoteServiceCallback$Stub.class 3KB
IPayService$Stub.class 3KB
IPayService$Stub.class 3KB
MobileSecurePayer$3.class 3KB
IRemoteServiceCallback$Stub$Proxy.class 3KB
IRemoteServiceCallback$Stub$Proxy.class 3KB
MobileSecurePayer.class 2KB
MyRemoteService$MIPayService.class 2KB
MobileSecurePayHelper$3.class 2KB
MobileSecurePayer$2.class 2KB
MobileSecurePayer$1.class 2KB
TextActivity$1.class 2KB
TextActivity.class 1KB
MobileSecurePayHelper$1.class 1KB
ShowActivity.class 1KB
MobileSecurePayHelper$2.class 1KB
BaseHelper$1.class 1KB
TextActivity$2.class 972B
ShowActivity$1.class 948B
MobileSecurePayHelper$4.class 937B
MyRemoteService.class 792B
PayResult.class 723B
Constants.class 540B
IPayService.class 531B
IPayService.class 531B
R.class 510B
IRemoteServiceCallback.class 496B
IRemoteServiceCallback.class 496B
R.class 482B
R$string.class 418B
R$string.class 406B
R$layout.class 394B
R$drawable.class 391B
R$drawable.class 386B
R$id.class 376B
R$layout.class 373B
R$id.class 365B
BuildConfig.class 339B
BuildConfig.class 331B
R$attr.class 331B
R$attr.class 319B
.classpath 475B
.classpath 475B
classes.dex 29KB
classes.dex 13KB
annotations-9d54772d77df281bf3e42747c00ff837.jar 943B
annotations-9d54772d77df281bf3e42747c00ff837.jar 943B
BaseHelper.java 10KB
MobileSecurePayHelper.java 8KB
IPayService.java 6KB
IPayService.java 6KB
MobileSecurePayer.java 5KB
IRemoteServiceCallback.java 5KB
IRemoteServiceCallback.java 5KB
MyRemoteService.java 2KB
TextActivity.java 2KB
R.java 742B
R.java 737B
ShowActivity.java 694B
Constants.java 531B
PayResult.java 410B
BuildConfig.java 157B
BuildConfig.java 153B
ic_launcher.png 4KB
ic_launcher.png 4KB
ic_launcher.png 3KB
icon.png 3KB
ic_launcher.png 2KB
icon.png 2KB
ic_launcher.png 2KB
ic_launcher.png 2KB
org.eclipse.core.resources.prefs 57B
.project 852B
.project 852B
project.properties 445B
project.properties 361B
AndroidManifest.xml 1KB
共 107 条
- 1
- 2
lukejun1988
- 粉丝: 5
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于PythonPyQT5的产生式动物识别系统高分项目+源码.zip
- Python对文件名批量改名
- 基于OpenPose的太极拳姿态识别系统项目源码+高分项目.zip
- Comsol 二维轴对称双温方程 固体传热变形几何(有烧蚀效果) 附带参考模型和参考文献
- Google Python编码规范
- 自动泊车代码,平行泊车,利用MATLAB写的自动泊车的小例子,可以运行来了解自动泊车的运动轨迹
- 基于MATLAB实现传统图像去噪算法-非局部均值滤波nlm算法高分项目.zip
- 偏股型公募基金近年收益数据及23年三季度规模
- 基于MATLAB实现传统图像去噪算法-中值滤波算法高分项目.zip
- 基于MATLAB实现传统图像去噪算法-BM3D滤波算法高分项目.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页