気になったので、放射性物質汚染には向日葵が良いよって言う記事を探してみた。
Sunflowers root out radiation(ヒマワリは放射線を根絶する)
有った。
チェルノブイリ原発から1km離れた池の中で向日葵を育てた。
水から放射性物質を吸い込んで蓄積していると書いてある。
その後に燃やして灰にして、嵩(かさ)を減らす。
そして、向日葵がシンボルとなった。
怪しい配色のサイト↓
http://www.sunflowerproject.com/
2016年12月14日水曜日
2016年12月10日土曜日
Windows Updateが時間がかかりすぎて確認出来なくなった時の対処方法
[windows updateのコンポーネントをリセットする方法]で検索
上記に従ってリセットしたら更新履歴が削除されます。
MBSA[Microsoft Baseline Security Analze]をダウンロードしてインストール
「単一のコンピューターをチェック」をデフォルト設定で「スキャンの開始」を押す。(windows updateの設定変更から更新プログラムを確認しない、にしてから再起動しないとチェックが終わらない)
1~2時間くらいで必要なファイル名が表示される。
「Microsoft Updateカタログ」で検索し、KB○○○○○○の丸部分の数字で検索、ダウンロード
ダウンロードしたファイルをインストール・再起動を繰り返す。
最後に、windows updateの設定を戻して、更新プログラムの確認をする。
2016年12月8日木曜日
Xamarin.AndroidでProguardがアクセス拒否された場合の解決法
Enable Proguard error 'C:\Program Files (Access is Denied)'
リンク先そのままの事をする
mklink /j C:\android-sdk "C:\Program Files (x86)\Android\android-sdk"
した後に、
Visual Studio2015の「ツール」→オプション→Xamarin→Android SettingのAndroidSDKの場所を先ほど作ったシンボリックリンクの場所に変更する
サードパーティのライブラリを使ったら、Debug・Release共にエラーでた。
設定のやり方が分からないので、中止。
Xamarin/Visual Studio 2015: Custom Proguard configuration
Xamarin Android ProGuard Enable
リンク先そのままの事をする
mklink /j C:\android-sdk "C:\Program Files (x86)\Android\android-sdk"
した後に、
Visual Studio2015の「ツール」→オプション→Xamarin→Android SettingのAndroidSDKの場所を先ほど作ったシンボリックリンクの場所に変更する
サードパーティのライブラリを使ったら、Debug・Release共にエラーでた。
設定のやり方が分からないので、中止。
Xamarin/Visual Studio 2015: Custom Proguard configuration
Xamarin Android ProGuard Enable
2016年12月7日水曜日
2016年12月6日火曜日
Html Agility PackでselectNodeが使えない[Xamarin.Android]
VisualStudioのIntellisense[自動補完機能]に頼っているのでselectNodeが使えない理由が分からない。
分からないけど解決策
'HtmlAgilityPack.HtmlNode' does not contain a definition for 'SelectNodes'
Html Agility PackのSelectNodesがWindowsストアアプリでは使えない
2016年12月5日月曜日
Visual studio Emulator for Androidでネットワークに繋がらない
解決法
http://stackoverflow.com/questions/30021277/how-to-connect-visual-studio-2015-android-emulator-to-network
Xamarin Android Playerを使っていたので、VritualBoxの設定が残ったままだった。
それを無効化してEmulatorを再起動したら繋がった。
http://stackoverflow.com/questions/30021277/how-to-connect-visual-studio-2015-android-emulator-to-network
Xamarin Android Playerを使っていたので、VritualBoxの設定が残ったままだった。
それを無効化してEmulatorを再起動したら繋がった。
2016年11月25日金曜日
今更、テラリアで複数クラフトするときの作業台の置き方を画像で分かりやすく コピペ
ネット上にあった基本の置き方
足場の上に椅子を置いているのが、ちょっと見えにくい
ワークベンチの上に立つ事で作業可能スペースに全て収まる
(作業可能スペース=上方向に横4:縦3,下方向に横4:縦4)
拡張性もある(画像は酒樽を置いて、効果を確認)
作業台の入れ替え可能
上方向には4x3,下方向には4x4に作業台が1マスでも入れば良い
確認するときは、ワークベンチの片側に立ち、反対側へ作業可能スペースを調べる。
(ワークベンチの上にある瓶と重なるように立つと決めて、横1マス分増やすのも良い)
この図ではワークベンチの上に立てば、
作業台+椅子,机+椅子,かまど,金床,のこぎり台,機織り,本棚,練成台,瓶,水場,釜,樽,
以上全ての作業台のクラフティングができる。
宝箱を開いてクラフティングした結果
2016年11月15日火曜日
Android.Views.InflateException: Binary XML file line Error inflating class が出た時の解決法 備忘録
エミュレータ上では起こらず、実機でエラーの場合は
https://chobitech.com/blog/?p=22
を参考にする。
今までで遭遇したのは
AndroidManifest.xmlが壊れていないか
テーマの適用を忘れてないか
参照ファイルが壊れてないか
まず、確認すべきは
layout.axml に書かれているツール名の綴りミスだった。
http://increment.hatenablog.com/entry/2015/07/19/093309
コピペしていると、その人が使用しているライブラリの名前をそのままコピペすることになるので、こんな単純なことが起きる。
styleの設定忘れもある
http://qiita.com/SYABU555/items/c5351bf3b3be9f057ef2
https://chobitech.com/blog/?p=22
を参考にする。
今までで遭遇したのは
AndroidManifest.xmlが壊れていないか
テーマの適用を忘れてないか
参照ファイルが壊れてないか
エミュレータ上ですでに出る場合についてのメモ
stackoverflow.comでは、ライブラリの再インストールが主な解決法として挙げられている。まず、確認すべきは
layout.axml に書かれているツール名の綴りミスだった。
http://increment.hatenablog.com/entry/2015/07/19/093309
コピペしていると、その人が使用しているライブラリの名前をそのままコピペすることになるので、こんな単純なことが起きる。
styleの設定忘れもある
http://qiita.com/SYABU555/items/c5351bf3b3be9f057ef2
2016年8月4日木曜日
RecyclerViewにアイテムクリックとアイテムロングクリックを実装するメモ[Visual Studio 2015 with Xamarin.Android]
このメモは
https://developer.xamarin.com/guides/android/user_interface/recyclerview/
を参考にしています。ほとんど一緒。
イベント2種類くらいだからこれで良いのか?
Action<int> listener, Action<int> Longlistenerを追加している。
そのコンストラクタの中で
rootView.LongClick += (sender, e) => Longlistener(base.AdapterPosition);
rootView.Click += (sender, e) => listener(base.AdapterPosition);
クリックとロングクリックを発動させる為に登録。
に二つのイベントハンドラを用意。
例)
public event EventHandler<int> ItemClick;
public event EventHandler<int> ItemLongClick;
このイベントハンドラを使うのは、
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup viewGroup, int viewType)
のリターン文。
例)
return new myViewHolder(view, OnClick,OnLongClick);
{
if (ItemClick != null)
ItemClick(this, position);
}
void OnLongClick(int position)
{
if (ItemLongClick != null)
ItemLongClick(this, position);
}
{
var activity = (MainActivity)Activity;
activity.ListItemClickListener(mLAdapter.GetItem(e));
WebDownload.DownloadImagetoSD(mLAdapter.GetItem(e));
};
mLAdapter.ItemLongClick += (sender, e) =>
{
var activity = (MainActivity)Activity;
activity.DialogShow(mLAdapter.GetItem(e));
};
https://developer.xamarin.com/guides/android/user_interface/recyclerview/
を参考にしています。ほとんど一緒。
イベント2種類くらいだからこれで良いのか?
まずは、 public class myViewHolder : RecyclerView.ViewHolderのコンストラクタをオーバーロードすると以下になる。
public class listViewHolder : RecyclerView.ViewHolder { public listViewHolder(View rootView, Actionlistener, Action Longlistener) : base(rootView) {
Action<int> listener, Action<int> Longlistenerを追加している。
そのコンストラクタの中で
rootView.LongClick += (sender, e) => Longlistener(base.AdapterPosition);
rootView.Click += (sender, e) => listener(base.AdapterPosition);
クリックとロングクリックを発動させる為に登録。
次に、先ほど作ったRecyclerView.ViewHolderのコンストラクタを使うために
public class myAdapter : RecyclerView.Adapterに二つのイベントハンドラを用意。
例)
public event EventHandler<int> ItemClick;
public event EventHandler<int> ItemLongClick;
このイベントハンドラを使うのは、
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup viewGroup, int viewType)
のリターン文。
例)
return new myViewHolder(view, OnClick,OnLongClick);
で、実際にrecyclerviewにイベントを渡すためにAdapterに以下を付ける。
void OnClick(int position){
if (ItemClick != null)
ItemClick(this, position);
}
void OnLongClick(int position)
{
if (ItemLongClick != null)
ItemLongClick(this, position);
}
最後に、 mAdapter = new myAdapter(mItem);アイテムを登録した所でイベント登録。
mLAdapter.ItemClick += (sender, e) =>{
var activity = (MainActivity)Activity;
activity.ListItemClickListener(mLAdapter.GetItem(e));
WebDownload.DownloadImagetoSD(mLAdapter.GetItem(e));
};
mLAdapter.ItemLongClick += (sender, e) =>
{
var activity = (MainActivity)Activity;
activity.DialogShow(mLAdapter.GetItem(e));
};
2016年7月24日日曜日
Visual Studio 2015 with Xamarin AndroidでNendのネイティブアドの広告コードをWebViewに
参考URL:http://lab.adn-mobasia.net/?p=2064
AndroidアプリでnendSDKが使えなくてもnend広告を表示する方法
より
詰まった点
mWebViewNendAd.setWebViewClient(
new
WebViewClient() {
public
boolean
shouldOverrideUrlLoading(WebView view, String url) {
Intent intent =
new
Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return
true
;
}
} );
Xamarin では
呼び出し
mWebViewNendAd.SetWebViewClient(new myWebViewClient(Activity));
プライベートクラス
private class myWebViewClient : WebViewClient
{
Context context;
public myWebViewClient(Context context)
{
this.context = context;
}
public override bool ShouldOverrideUrlLoading(WebView view, string _url)
{
var url = Android.Net.Uri.Parse(_url);
var intent = new Intent(Intent.ActionView, url);
context.StartActivity(intent);
return true;
}
}
contextを渡せば良いだけだった。
Visual Studio 2015 with Xamarin AndroidでWebViewにProgressBarを追加する
Point XML
RelativeLayoutでwebviewを先に置いて、ProgressBarで上書き
Point source
SetWebChromeClientにoverrideしたプライベートクラスを適応し、
そのクラスにProgressBarを渡しているだけ
気になること
ProgressBarを渡したけど、問題は出ないのだろうか?
こういうのを確かめないからいつまでもコピペ。
追記
2016/07/25
問題でてた。タップされるまで動画が表示されない。
いったん修正。
XML
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/DIframeLayout">
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/FwebView"
android:layout_centerInParent="true" />
<ProgressBar
android:id="@+id/FprogressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
ソース
//…省略…/public override Android.Views.View OnCreateView(Android.Views.LayoutInflater inflater, Android.Views.ViewGroup container, Bundle savedInstanceState)
{
var root = inflater.Inflate(Resource.Layout.fragmentWebView, container, false);
fWebView = root.FindViewById<WebView>(Resource.Id.FwebView);
fProgress = root.FindViewById<ProgressBar>(Resource.Id.FprogressBar);
//…省略…/
fWebView.SetWebChromeClient(new myWebChromeClient(fProgress));
//…省略…/
return root;
}
//…省略…/
public class myWebChromeClient : WebChromeClient
{
private ProgressBar fProgress = null;
public myWebChromeClient(ProgressBar setProgress) : base()
{
this.fProgress = setProgress;
}
public override void OnProgressChanged(WebView view, int newProgress)
{
if (fProgress != null)
{
fProgress.Progress = newProgress;
if (newProgress == 100)
{
fProgress.Animate().SetDuration(1000).Alpha(0.0f);
}
else
{
fProgress.Alpha = 1.0f;
}
}
}
Android SDK manual download and offline install
First step
request 1 : Acsess to Internet by PC_1[download only]
request 2 : offline install by target PC_2
Install
・JDK download and install
・Android SDK [https://developer.android.com/studio/index.htm]
download [installer_r??.?.?-***.exe] and install by target PC
make folder [temp]
download [installer_r??.?.?-***.exe] and install by target PC
Second
targetPC\...\Android\android-sdk\make folder [temp]

Thrid
Acsess and Download
Acsess
[http://dl-ssl.google.com/android/repository/repository-12.xml]or
[http://dl-ssl.google.com/android/repository/repository-1?.xml] ?= 3,4,5,...
[Ctrl + F] -> ".zip</"
↓
ex. tools_r25.1.7-windows.zip
Download
http://dl-ssl.google.com/android/repository/[Find name]
ex. [http://dl-ssl.google.com/android/repository/tools_r25.1.7-windows.zip]
Fourth
Download File to [temp]
targetPC\...\Android\android-sdk\temp
Fifth
SDK Manager.exe
1.check download file name
2.check box
3.Install button
↓
complete.
Visual Studio2015 with Xamarin Androidはオフラインインストール出来ない
https://msdn.microsoft.com/library/e2h7fzkw.aspx
にあるように、AndroidSDKはオフラインインストールに対応していない。
なので、同じページにあるVS2015のコマンドラインパラメータの使用にある
「/layout Directory」:インストール メディアのファイルを指定したディレクトリにコピーします。
を使っても、意味がない。
AndroidSDKを先にインストールしていても、VS2015と紐づけするためにダウンロードされたので、
オフラインインストールはできなかった。
実際のコマンド
登録:
投稿 (Atom)