Category Archives: Xamarin.Android

Xamarin.Android SMS CalendarのdateをC#のDateTimeに変換

AndroidでSMSやカレンダーで返されるタイムスタンプを、C#のDateTimeに変換するサンプル。
システムが返すSMSのタイムスタンプは1970/1/1 0:00:00からのミリ秒。単純にミリ秒として足してインスタンスを作る。

DateTime date = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddMilliseconds(ms).ToLocalTime();

サンプル元のMethod例:
class ViewBinder : Java.Lang.Object, SimpleCursorAdapter.IViewBinder
{
public bool SetViewValue (View view, Android.Database.ICursor cursor,
int columnIndex)
{

if (columnIndex == 2) {
long ms = cursor.GetLong (columnIndex);

DateTime date = new DateTime (1970, 1, 1, 0, 0, 0,
DateTimeKind.Utc).AddMilliseconds (ms).ToLocalTime ();

TextView textView = (TextView)view;
textView.Text = date.ToLongDateString ();

return true;
}
return false;
}
}

2018年8月以降APIレベル26Android 8.0以下はリリースできない?

今は、Android版のアプリはデフォルトでAPIレベル14以上としているのだけれど、今回のリリースで気になるメッセージが出ている。2018年8月以降、APIレベル26以上が必須になるような事を言っている。

Android8.0(OREO)って現状最新のバージョンだけれど、開発者側はAndroid7.0や、Android5.0はサポートしないという事なのか、何か新しい機能で7.0や5.0に8.0のビルドを起動できるようになるのか。

今回リリースしたアプリの依頼者は少なくとも5.0ユーザなのだが・・・