Skip to content

Instantly share code, notes, and snippets.

View ShinjiKobayashi's full-sized avatar

Shinji Kobayashi ShinjiKobayashi

View GitHub Profile
@ShinjiKobayashi
ShinjiKobayashi / ExecTask.java
Last active October 6, 2017 12:50
[Android] execute terminal command from java
public class ExecTask implements Runnable {
private List<String> commands;
private ExecutorService executor = Executors.newSingleThreadExecutor(new ThreadFactory() {
@Override
public Thread newThread(Runnable r) {
Thread t = new Thread(r);
t.setDaemon(true);
return t;
}
@ShinjiKobayashi
ShinjiKobayashi / main_template.py
Created November 15, 2015 09:44
[python] template for command line tools
# -*- coding=utf-8 -*-
#!/usr/bin/env python
__author__ = 'kobashin'
from argparse import ArgumentParser
def main(args):
print('')
@ShinjiKobayashi
ShinjiKobayashi / DialogFragmentBase.java
Created November 18, 2015 04:46
DialogFragmentのベースクラス
public class DialogFragmentBase extends DialogFragment {
public interface OnDialogActionListerner {
void onPositiveButtonClicked();
void onNegativeButtonClicked();
}
public static class Builder {
class CustomDialogFragment : DialogFragment() {
interface OnDialogActionListerner {
fun onPositiveButtonClicked()
fun onNegativeButtonClicked()
}
class Builder {
@ShinjiKobayashi
ShinjiKobayashi / datefile.kt
Created November 27, 2015 04:54
日付をファイル名にするやつ
class Sample(){
private val writer: PrintWriter by lazy {
val name = SimpleDateFormat("yyyyMMdd_HHmmss'.log'").format(Date(System.currentTimeMillis()))
PrintWriter(BufferedWriter(FileWriter(File("${Environment.getExternalStorageDirectory()}/$name"))))
}
}
@ShinjiKobayashi
ShinjiKobayashi / MainActivity.java
Created March 31, 2016 16:07
PlatformアプリでAPTするサンプルソース
package uselibrary.sample.kobashin.com.uselibrary_sample;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;
@ShinjiKobayashi
ShinjiKobayashi / activity_main.xml
Created March 31, 2016 16:08
PlatformアプリでAPTするサンプルソース2
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
@ShinjiKobayashi
ShinjiKobayashi / Android.mk
Created March 31, 2016 16:12
PlatformアプリでAPTするサンプルソース2
TOP_LOCAL_PATH:= $(call my-dir)
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_JAVACFLAGS := -processor butterknife.internal.ButterKnifeProcessor
LOCAL_STATIC_JAVA_LIBRARIES := \
new Runnable() {
@Override
public void run() {
OkHttpClient.Builder builder = new OkHttpClient.Builder();
final Map<String, CachingAuthenticator> authCache = new ConcurrentHashMap<>();
final DigestAuthenticator authenticator = new DigestAuthenticator(new Credentials("hoge", "fuga"));
OkHttpClient client = builder.authenticator(authenticator)
.addInterceptor(new AuthenticationCacheInterceptor(authCache))
.build();
Retrofit retrofit = new Retrofit.Builder()
final ApiService service = retrofit.create(ApiService.class);
service.login()
.subscribeOn(Schedulers.newThread())
.observeOn(Schedulers.newThread())
.flatMap(response -> {
if (response.getErrCode != 0) {
return null;
}
return service.getDataFromWeb();
})