tools.jar ( Tools.java, Tools2.java, TestArrayAdapter.java, AndroidTools.java )
|
|
日時: 2016/10/14 16:55
名前: lightbox
|
tools.jar
Tools.java
拡張子:
package jp.android.work;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.AsyncTask;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Serializable;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.Map;
import java.util.TimeZone;
public class Tools {
public interface OnAsyncTaskListener {
abstract public void onAsyncTaskListener(String s);
}
public static void callHttpGet(String url, String charset, final OnAsyncTaskListener listener) {
new AsyncTask<String, Void, String>() {
// 非同期処理
@Override
protected String doInBackground(String... params) {
String result = null;
result =
Tools.httpGet(
params[0],
params[1],
null
);
return result;
}
// UI スレッド処理
@Override
protected void onPostExecute(String json) {
super.onPostExecute(json);
listener.onAsyncTaskListener(json);
}
}.execute(url, charset);
}
public interface OnMessageBoxListener {
abstract public void onMessageBoxYesListener();
abstract public void onMessageBoxNoListener();
}
// 確認 メッセージボックス( メッセージのみ )
public static void messageBox(Activity context, String message, final OnMessageBoxListener listener) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setTitle("確認");
alertDialogBuilder.setMessage(message);
alertDialogBuilder.setPositiveButton("OK",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (listener != null) {
listener.onMessageBoxYesListener();
}
}
});
alertDialogBuilder.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
if (listener != null) {
listener.onMessageBoxNoListener();
}
}
});
alertDialogBuilder.setCancelable(true);
// アラートダイアログを作成します
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
// YES or NO メッセージボックス( タイトルとメッセージ両方指定)
public static void messageBox(Activity context, String title, String message, final OnMessageBoxListener listener) {
// ダイアログ作成用オブジェクト作成
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setTitle(title);
alertDialogBuilder.setMessage(message);
// YES ボタン作成
alertDialogBuilder.setPositiveButton("YES",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (listener != null) {
listener.onMessageBoxYesListener();
}
}
});
// NO ボタン作成
alertDialogBuilder.setNegativeButton("NO",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (listener != null) {
listener.onMessageBoxNoListener();
}
}
});
alertDialogBuilder.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
if (listener != null) {
listener.onMessageBoxNoListener();
}
}
});
alertDialogBuilder.setCancelable(true);
// アラートダイアログを作成します
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
public static void callBrowser(Activity context, String url) {
// ブラウザの呼び出し
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
if (intent.resolveActivity(context.getPackageManager()) != null) {
context.startActivity(intent);
return;
}
// 対応するアプリが無い
Tools.longToast(
context,
"ブラウザを呼び出せません"
);
return;
}
// 短いトースト
public static void shortToast(Activity context,String message) {
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
}
// 長いトースト
public static void longToast(Activity context,String message) {
Toast.makeText(context, message, Toast.LENGTH_LONG).show();
}
// 単純なアクティビテイの呼び出し
public static void callActivity(Activity context, Class<?> cls, int requestCode) {
// Activity呼び出し
Intent intent = new Intent(context, cls);
context.startActivityForResult(intent, requestCode);
}
// オブジェクトを引き渡しての呼び出し
public static void callActivity(Activity context, Class<?> cls, int requestCode, String name, Serializable data) {
// Activity呼び出し
Intent intent = new Intent(context, cls);
intent.putExtra(name,data);
context.startActivityForResult(intent, requestCode);
}
// OK で終了
public static void okFinish(Activity context,Intent intent) {
context.setResult(context.RESULT_OK, intent);
context.finish();
}
// CANCELED で終了
public static void cancelFinish(Activity context,Intent intent) {
context.setResult(context.RESULT_CANCELED,intent);
context.finish();
}
// Private な アプリデータの保存
public static void putPreferences(Activity context, String target, String key, String data) {
SharedPreferences sp = context.getSharedPreferences(target, context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString(key, data);
editor.commit();
}
// Private な アプリデータの読み込み
public static String getPreferences(Activity context, String target, String key) {
SharedPreferences sp = context.getSharedPreferences(target, context.MODE_PRIVATE);
return sp.getString(key, "_nodata");
}
// 日付・時間文字列取得
public static String getDateString(String format) {
TimeZone tz = TimeZone.getTimeZone("Asia/Tokyo");
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(format);
sdf.setTimeZone(tz);
String result = sdf.format(date);
return result;
}
// 指定した URL へ 任意の charset で処理
public static String httpGet(String targetUrl, String targetCharset, Map<String, String> params) {
StringBuffer web_data = new StringBuffer();
try {
// Query String の作成( 必要無ければ引数を null とする )
String data = "";
if (params != null) {
Iterator<String> it = params.keySet().iterator();
String key = null;
String value = null;
while (it.hasNext()) {
key = it.next().toString();
value = params.get(key);
if (!data.equals("")) {
data += "&";
}
data += key + "=" + URLEncoder.encode(value, targetCharset);
}
if (!data.equals("")) {
targetUrl = targetUrl + "?" + data;
}
}
// **********************************************
// インターネットへの接続
// **********************************************
// 読み込む WEB上のターゲット
URL url = new URL(targetUrl);
// 接続オブジェクト
HttpURLConnection http = (HttpURLConnection) url.openConnection();
// GET メソッド
http.setRequestMethod("GET");
// 接続
http.connect();
// **********************************************
// ストリームとして読み込む準備
// **********************************************
// 以下読み込み3点セット InputStream / InputStreamReader / BufferedReader
InputStream input_stream = http.getInputStream();
// UTF-8 でリーダーを作成
InputStreamReader input_stream_reader = new InputStreamReader(input_stream, targetCharset);
// 行単位で読み込む為の準備
BufferedReader buffered_reader = new BufferedReader(input_stream_reader);
// **********************************************
// 行の一括読み込み
// **********************************************
String line_buffer = null;
// BufferedReader は、readLine が null を返すと読み込み終了
while (null != (line_buffer = buffered_reader.readLine())) {
web_data.append(line_buffer);
web_data.append("\n");
}
// **********************************************
// 接続解除
// **********************************************
http.disconnect();
} catch (Exception e) {
// 失敗
System.out.println(e.getMessage());
}
return web_data.toString();
}
}
|
|
Tools2.java ( No.1 ) |
|
日時: 2016/05/30 18:31
名前: lightbox
|
日時: 2016/05/30 18:31 名前: lightbox
|
TestArrayAdapter.java ( No.2 ) |
日時: 2016/05/30 18:31 名前: lightbox
拡張子:
package jp.android.work;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
/**
* Created by lightbox on 2015/06/27.
*/
public class TestArrayAdapter<T> extends ArrayAdapter<T> {
public interface OnGetViewListener {
abstract public View onGetViewListener(int position, View convertView, ViewGroup parent);
}
private OnGetViewListener listener = null;
public TestArrayAdapter(Context context, int resource,OnGetViewListener listener) {
super(context, resource);
this.listener = listener;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if ( listener != null ) {
return listener.onGetViewListener(position, convertView, parent);
}
return super.getView(position, convertView, parent);
}
}
|
AndroidTools.java ( No.3 ) |
日時: 2016/05/30 18:32 名前: lightbox
拡張子:
package jp.android.work;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Serializable;
/**
* Created by lightbox on 2015/07/06.
*/
public class AndroidTools {
private Activity context = null;
public AndroidTools(Activity context) {
this.context = context;
}
// 確認 メッセージボックス( メッセージのみ )
public void messageBox(String message, final Tools.OnMessageBoxListener listener) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setTitle("確認");
alertDialogBuilder.setMessage(message);
alertDialogBuilder.setPositiveButton("OK",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (listener != null) {
listener.onMessageBoxYesListener();
}
}
});
alertDialogBuilder.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
if (listener != null) {
listener.onMessageBoxNoListener();
}
}
});
alertDialogBuilder.setCancelable(true);
// アラートダイアログを作成します
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
// YES or NO メッセージボックス( タイトルとメッセージ両方指定)
public void messageBox(String title, String message, final Tools.OnMessageBoxListener listener) {
// ダイアログ作成用オブジェクト作成
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setTitle(title);
alertDialogBuilder.setMessage(message);
// YES ボタン作成
alertDialogBuilder.setPositiveButton("YES",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (listener != null) {
listener.onMessageBoxYesListener();
}
}
});
// NO ボタン作成
alertDialogBuilder.setNegativeButton("NO",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (listener != null) {
listener.onMessageBoxNoListener();
}
}
});
alertDialogBuilder.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
if (listener != null) {
listener.onMessageBoxNoListener();
}
}
});
alertDialogBuilder.setCancelable(true);
// アラートダイアログを作成します
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
public void callBrowser(String url) {
// ブラウザの呼び出し
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
if (intent.resolveActivity(context.getPackageManager()) != null) {
context.startActivity(intent);
return;
}
// 対応するアプリが無い
Tools.longToast(
context,
"ブラウザを呼び出せません"
);
return;
}
// 短いトースト
public void shortToast(String message) {
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
}
// 長いトースト
public void longToast(String message) {
Toast.makeText(context, message, Toast.LENGTH_LONG).show();
}
// 単純なアクティビテイの呼び出し
public void callActivity( Class<?> cls, int requestCode) {
// Activity呼び出し
Intent intent = new Intent(context, cls);
context.startActivityForResult(intent, requestCode);
}
// オブジェクトを引き渡しての呼び出し
public void callActivity( Class<?> cls, int requestCode, String name, Serializable data) {
// Activity呼び出し
Intent intent = new Intent(context, cls);
intent.putExtra(name,data);
context.startActivityForResult(intent, requestCode);
}
// OK で終了
public void okFinish(Intent intent) {
context.setResult(context.RESULT_OK, intent);
context.finish();
}
// CANCELED で終了
public void cancelFinish(Intent intent) {
context.setResult(context.RESULT_CANCELED, intent);
context.finish();
}
// Private な アプリデータの保存
public void putPreferences(String target, String key, String data) {
SharedPreferences sp = context.getSharedPreferences(target, context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString(key, data);
editor.commit();
}
// Private な アプリデータの読み込み
public String getPreferences( String target, String key) {
SharedPreferences sp = context.getSharedPreferences(target, context.MODE_PRIVATE);
return sp.getString(key, "_nodata");
}
// 汎用型コントロール参照
public <T> T useView(int id) {
T view = null;
view = (T) context.findViewById(id);
return view;
}
// ボタン用コントロール参照( イベント引数付き )
public Button useButton(int id, View.OnClickListener listener) {
Button button = (Button) context.findViewById(id);
if (listener != null) {
button.setOnClickListener(listener);
}
return button;
}
// ボタン用コントロール参照( イベントなし )
public Button useButton(int id) {
Button button = (Button) context.findViewById(id);
return button;
}
// テキストファイル( プライベート書き込み )
public void saveText(String name, String text) throws Exception {
FileOutputStream outStream = context.openFileOutput(name, android.content.Context.MODE_PRIVATE);
OutputStreamWriter writer = new OutputStreamWriter(outStream);
writer.write(text);
writer.flush();
writer.close();
}
// テキストファイル( 読み込み )
public String loadText(String name) throws Exception {
FileInputStream fis = context.openFileInput(name);
int size = fis.available();
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
StringBuffer all_string = new StringBuffer(size);
String str = null;
while ((str = br.readLine()) != null) {
// 初回以外は前に改行を挿入する
if (!all_string.toString().equals("")) {
all_string.append("\n");
}
all_string.append(str);
}
br.close();
return all_string.toString();
}
}
|
|
|
|