ともちゃんのアプリ開発日記

組込みC言語プログラマだったともちゃんが、四苦八苦しながら、AndroidのJAVA/Kotlin、iOSのSwiftUIを習得して行きます。ともちゃんの備忘録も兼ねています。

スリープさせる

スリープさせる。 try { Thread.sleep(200); //200ミリ秒Sleepする} catch (InterruptedException e) {} スリープ中に割り込み等が入る可能性があるため、try~catchは必須です。

プログレスダイアログ

1.前処理 progressDialog = new ProgressDialog(dataCenter.getExportImportContext());progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);progressDialog.setMessage("処理を実行しています");progressDialog.setCancelable(true);progr…

マルチスレッド

1.マルチスレッドのクラス定義 static class AsyncExportProgress extends AsyncTask<Void, Void, String> { ProgressDialog progressDialog; @Override protected void onPreExecute() { // ここに前処理を記述します // 例) プログレスダイアログ表示 DataCenter dataCenter</void,>…

暗黙的インテントによるファイルの読み込み

1.マニフェスト CSVファイルを選択したときに、アプリが起動するようにするために。 <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/*" /></intent-filter> これだと、テキストファイル選択したときにアプリが起動するんだけど、CSVファイルに限定するやり方がわからなかった。 2.インポートメソッドのソースコード …

データファイルの書き出しとファイル添付

1.マニフェスト <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 2.ソースコード public static class FileIO { private final String EXPORT_FILE ="DietRecData.csv"; public FileIO () { } public void exportFile (Context context) { String dir1 = Environment.getExternalStorageDirectory().ge</uses-permission>…

AChartEngineでグラフを描く

グラフィックライブラリに、AFrecchartを使っていたのですが、どうしてもデータのある箇所に点(Shape)が出せなかったのと、ライセンスがLGPLであり、Androidアプリだとソースを公開しなければならない可能性もあるので、AChartEngineに変更しました。 0.準…

文字列⇔値変換

数値 ⇒ 文字列 String s = String.valueOf(i); 文字列 ⇒ 数値 int i = Integer.parseInt(s);

列挙型enumの使い方

enumの定義は以下の様に行います。 private enum CalendarAction { NEXT, PREVIOUS, TODAY, STAY} 使用時には、以下の様です。 switch (action) { case NEXT: cal_start.add(Calendar.DATE, DISPLAY_PERIOD_DAY); break; case PREVIOUS: cal_start.add(Calen…

日付が正しいかどうかのチェック

日付が正しいかどうかのチェックをするサンプルソースコードです。 String strYMD = ymd.strYear + "/" + ymd.strMonth + "/" + ymd.strDate;DateFormat sdf=new SimpleDateFormat("yyyy/M/d");try { sdf.setLenient(false); sdf.parse( strYMD );//Exceptio…

ラジオボタンの状態の取得、設定

ラジオボタンの状態の取得のサンプルソースコードです。 1.XMLは以下の通りです。 <RadioGroup android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/radioGroupSelectGrpah" android:layout_alignParentTop="true" android:layout_centerHorizontal="true"> </radiogroup>

チェックボタンの状態の取得、設定

チェックボタンの状態の取得するサンプルソースコードです。 何かボタンが押されたときに、チェックボタンの状態の取得するコードです。 CheckBox checkBoxStampStar = (CheckBox)view.findViewById(R.id.checkBoxStar);int stamp_Star;if (checkBoxStampSta…

グラフの再描画には、invalidate()を使用

グラフの再描画には、invalidate()を使用します。 グラフ描画のクラスのサンプルコードです。 private class GraphManager { public GraphManager () { }; public void displayGraph (TimeSeries series, float target, float min, float max ) { if (target …

EditTextの入力の変化を検出する

TextWatcherを使います。 1.TextWatcherの登録 // 年のTextWatcherを設定edTextYear.addTextChangedListener(new textWatcherYearMonthDate()); 2.TextWatcher本体 // 年月日のTextWatcher本体public class textWatcherYearMonthDate implements TextWat…

トーストを表示する

トーストを表示する。 Toast.makeText(getActivity(), "正しい日付を入力して下さい", Toast.LENGTH_SHORT).show(); 簡単ですね。

起動時にカーソルが入るEditTextを指定する

起動時にカーソルが入るEditTextを指定する。 XML内で <requestFocus/>を使用して指定します。 </requestfocus/>

Float型の変数を小数点一桁で四捨五入する

Float型の変数を小数点一桁で四捨五入する Float target_BMI = target_weight / ((target_tall/100f) * (target_tall/100f));BigDecimal target_BMI_bug_decimal = new BigDecimal(target_BMI);target_BMI_bug_decimal = target_BMI_bug_decimal.setScale(1,…

EditTextのカーソルの遷移を制御する

単純に次にフォーカス移動させる場合 android:imeOptions="actionNext" 任意の方向に移動させたい場合 android:nextFocusUp="@+id/upId" android:nextFocusRight="@+id/rightId" android:nextFocusLeft="@+id/leftId" android:nextFocusDown="@+id/downId" …

EditTextのカーソルの位置を制御する

EditTextのカーソルの位置を制御する。 EditText edTextYear = (EditText)view.findViewById(R.id.editTextYear);edTextYear.setSelection(4);

AFreeChart - 折れ線の太さと色を変える

折れ線の太さと色を変える // 折れ線の太さと色を変える。XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();renderer.setSeriesStroke(0, 5.0f);renderer.setSeriesPaintType(0, new SolidColor(Color.rgb(255, 166, 0)));plot.setRenderer(…

AFreeChart - Y軸(値軸)のデータレンジを決める

Y軸(値軸)のデータレンジを決める。 ValueAxis yAxis = plot.getRangeAxis();yAxis.setRange(100.0d, 320.0d);

Android StudioによるFragmentの追加(不具合?)

Android Studio 1.5 + Android SDK 23.0.1では、フラグメントを追加すると、MainActivityには、 import android.app.Fragmentだが、Fragmentクラスの方は、 import android.support.v4.app.Fragmentになっている。 そのせいで、Fragment#instantiateが、Inst…

AFreeChart - X軸(時間軸)の目盛間隔を変える

X軸(時間軸)の目盛間隔を変えるサンプルコードです。 // X軸の目盛間隔を変える。DateAxis xAxis = (DateAxis)plot.getDomainAxis();xAxis.setTickUnit(new DateTickUnit(DateTickUnitType.MONTH, 2, new SimpleDateFormat("yyyy/MM")));

AFreeChart - Y軸(値軸)の目盛間隔を変える

Y軸(値軸)の目盛間隔を変えるサンプルコードです。 XYPlot plot = chart.getXYPlot(); // Y軸の目盛間隔を変える。ValueAxis yAxis = plot.getRangeAxis();TickUnits ty = new TickUnits();TickUnit uniY = new NumberTickUnit(20);ty.add(uniY);yAxis.setSt…

AFreeChart - グラフの4隅にマージンを持たせる

グラフの4隅にマージンを持たせるサンプルコードです。 AFreeChart chart = ChartFactory.createTimeSeriesChart( "PV推移", "月", "PV", data, false, // ← 凡例無し false, false);// グラフの右側にマージンを持たせる。RectangleInsets insets = new Rec…

AFreeChart - Y軸(値軸)のマーカーの設定

Y軸(値軸)のマーカーの設定のサンプルコードです。 // Y軸のマーカーの表示Marker marker = new ValueMarker(170);PaintType makerColor = new SolidColor(Color.rgb(180, 0, 180));marker.setPaintType(makerColor);marker.setStroke(2.0f);marker.setLabel…

AFreeChart - 凡例の消去

凡例の消去のサンプルコードです。 AFreeChart chart = ChartFactory.createTimeSeriesChart( "PV推移", "月", "PV", data, false, // ← 凡例無し false, false); あるいは // 凡例の消去chart.removeLegend();

AFreeChart - グラフタイトルのフォント指定

グラフタイトルのフォント指定 AFreeChart chart = ChartFactory.createTimeSeriesChart( "PV推移", "月", "PV", data, false, // ← 凡例無し false, false);// グラフのラベルを変えるTextTitle title = chart.getTitle();title.setFont(new Font(Typeface.…

AFreeChart -軸のフォントの指定

軸のフォントの指定 XYPlot plot = chart.getXYPlot(); // 軸の目盛のフォントを変える。Font xyAxisFont = new Font(Typeface.SANS_SERIF, Typeface.BOLD, 30);plot.getRangeAxis().setTickLabelFont(xyAxisFont);plot.getDomainAxis().setTickLabelFont(xy…

AFreeChart -最低限のグラフを描く

1.グラフのViewを準備するクラス public class GraphView extends View { private AFreeChart chart; private RectShape chartArea; public GraphView(Context context, AttributeSet attrs) { super(context, attrs); chartArea = new RectShape(); } @Ov…

AFreeChart - 準備

1.AFreeChartのダウンロード https://code.google.com/p/afreechart/downloads/list 上記URL から、 afreechart-0.0.4.jar をダウンロードし、プロジェクトのlibsフォルダに入れる。 2.build.gradleへの追加 dependencies { compile fileTree(dir: 'libs…