Skip to content

Instantly share code, notes, and snippets.

@daichan4649
daichan4649 / AndroidManifest.xml
Created December 13, 2013 04:16
custom ActionBar
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name="CustomActionBarActivity"
android:label="@string/title_activity_custom_actionbar"
android:theme="@style/Theme.Custom" />
</application>
@daichan4649
daichan4649 / MainActivity.java
Last active August 26, 2016 08:50
プログレス表示(IllegalStateException: Can not perform this action after onSaveInstanceState 対策済)
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.execute).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
@daichan4649
daichan4649 / AndroidManifest.xml
Last active December 28, 2015 15:29
Volley Sample
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="daichan4649.volley"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
@daichan4649
daichan4649 / TestActivity.java
Created October 31, 2013 11:03
AsyncTask の重複起動チェック(Activity/Fragment#onResume 内で行う場合の例)
private TestTask mTask = null;
@Override
public void onResume() {
super.onResume();
if (mTask != null) {
Status taskStatus = mTask.getStatus();
if (taskStatus == AsyncTask.Status.RUNNING) {
// task is running
@daichan4649
daichan4649 / ValidateUtil.java
Created October 23, 2013 04:56
ファイル名チェック(禁則文字) for Android
public static boolean isAvailableFileName(String fileName) {
if (TextUtils.isEmpty(fileName)) {
return false;
}
// 次の9文字は使用不可(< > : * ? " / \ |)
final String regularExpression = "^.*[(<|>|:|\\*|?|\"|/|\\\\|\\|)].*$";
return !fileName.matches(regularExpression);
}
@daichan4649
daichan4649 / StorageUtil.java
Created October 18, 2013 10:18
disk size check
/** 有効サイズ(10MB) */
private static final long AVAILABLE_DISK_SIZE = 10 * 1024 * 1024;
public static boolean isDiskAvailable() {
return isDiskAvailable(AVAILABLE_DISK_SIZE);
}
public static boolean isDiskAvailable(long limitSize) {
long diskAvailableSize = getDiskAvailableBytes();
return diskAvailableSize > limitSize;
@daichan4649
daichan4649 / AlphaNumericInputFilter.java
Created October 17, 2013 07:22
入力フィルタ(半角英数のみ入力可)
/**
* 入力フィルタ(半角英数)
* @see <a href="http://y-anz-m.blogspot.jp/2010/10/androidfilter.html">半角英数フィルタ</a>
*/
class AlphaNumericFilter implements InputFilter {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if (source.toString().matches("^[a-zA-Z0-9]+$")) {
return source;
} else {
@daichan4649
daichan4649 / export_db.txt
Last active December 25, 2015 16:19
アプリケーションフォルダ内のDBファイルのexport
adb shell cat /data/data/[packagename]/databases/[dbファイル名] > c:\tmp\data.db
@daichan4649
daichan4649 / EncryptUtil.java
Created October 14, 2013 06:43
暗号化(SHA1)
private static final String ALGORITHM_SHA1 = "SHA1";
private static final String SALT = "saltvalue";
public static String encode2SHA1Text(String plainText) {
return encode2SHA1Text(plainText, ALGORITHM_SHA1, SALT);
}
public static String encode2SHA1Text(String plainText, String algorithm, String salt) throws NoSuchAlgorithmException {
MessageDigest md = MessageDigest.getInstance(algorithm);
@daichan4649
daichan4649 / FragmentA.java
Created October 4, 2013 01:42
startActivityForResult (FragmentA <-> FragmentB)
// FragmentA (in Activity A)
private void showActivityB(int requestCode) {
Intent intent = new Intent(getActivity(), ActivityB.class);
startActivityForResult(intent, requestCode);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != Activity.RESULT_OK) {
return;