下記サイトさんがすごくわかりやすくまとめてある!
http://blog.takuo.jp/2011/10/android-background-process.html
AndroidOS3.0以降から、
通信処理をバックグラウンド処理にしないいけなくなったみたいなので、
ここらへん抑えておかなければ汗汗
開発備忘録
下記サイトさんがすごくわかりやすくまとめてある!
http://blog.takuo.jp/2011/10/android-background-process.html
AndroidOS3.0以降から、
通信処理をバックグラウンド処理にしないいけなくなったみたいなので、
ここらへん抑えておかなければ汗汗
のりのりハッカーになりたいとき!!
https://www.youtube.com/watch?v=LadRcupWDuI
無難に仕事をこなすとき!!
http://musicforprogramming.net/
多忙な方におすすめ、WEBでできる簡単整形サイト!
※ポイント –default-character-set=binary 文字化け対策
テーブル指定ダンプ mysqldump -u testuser testdb -p --default-character-set=binary --tables testtable > [出力先ファイル名].sql
データベースを指定して、上記のテーブルデータのリストア
mysql -u testuser testdb -p --default-character-set=binary < [出力先ファイル名].sql
指定テーブル以外をダンプする場合 mysqldump -u testuser -p testdb --default-character-set=binary --ignore-table=testdb.testtable1 --ignore-table=testdb.testtable2 > [出力先ファイル名].sql
1台のサーバーで、2つのMySQLを入れるために、
yumでもともと入っているMySQL5.5に追加で、ソースのMySQL5.5を入れたメモ。
目的はサーバー1台でMaster-Slaveのレプリケーションの検証をするため。
(あくまで簡易めもなので、適宜自分の環境にあわせてください。^^汗)
構築環境
CentOS6.2 CentOS release 6.2 (Final)
マスター用:MySQL5.5(yumでインストール)Server version: 5.5.23-log MySQL Community Server (GPL) by Remi
スレーブ用:MySQL5.5(ソースからインストール)Server version: 5.5.30-log Source distribution
1.マスター用のMySQLをyumインストール
※デフォルトのyumでは5.5はなかったはずなので、remiから
RPMのepel,remiのインストール 現状のyumで利用できるmysqlのバージョンを確認(おそらく5.1xxxになっているはず) # yum info mysql # rpm -ivh ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/epel/6/x86_64/epel-release-6-5.noarch.rpm (CentOS 6.x, x86_64の場合) DL元サイト:http://rpm.pbone.net/index.php3/stat/4/idpl/15279403/dir/redhat_el_6/com/epel-release-6-5.noarch.rpm.html バージョン確認 # yum --enablerepo=epel,remi list mysql-server yumからインストール # yum --enablerepo=epel,remi install mysql mysql-server mysql-devel mysql-libs # service mysqld start # mysql
2.スレーブ用のMySQLのソースインストール
存在しなければmysqlユーザーを登録 # groupadd mysql # useradd -m mysql -g mysql -d /usr/local/mysql/data # passwd mysql コンパイラ系を準備 # yum install gcc gcc-c++ bison # yum install ncurses-devel # yum install cmake 自分は/usr/local/src/にとりあえずソースのmysqlをダウンロード ※ソースインストールの際のconfigreが5.5から使えなくなったので、cmakeを利用する。そのためcmakeファイルが入っているものをダウンロード! # wget 'http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.30.tar.gz/from/http://cdn.mysql.com/' # cd mysql-5.5.30xx/ cmakeのオプションはお好みで # cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 # make # make install # chown -R mysql:mysql /usr/local/mysql/ # cp /usr/local/mysql/support-files/my-large.cnf /usr/local/mysql/my.cnf ※適宜編集 # vi /usr/local/mysql/my.cnf # /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --user=mysql # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld_slave # chmod 755 /etc/init.d/mysqld_slave ※適宜編集 # vim /etc/init.d/mysqld_slave basedir=/usr/local/mysql datadir=/usr/local/mysql/var mysqld_pid_file_path=/var/run/mysqld/mysqld_slave.pid インストールしたmysqlを起動 # /etc/init.d/mysqld_slave status # /etc/init.d/mysqld_slave start ログイン # /usr/local/mysql/bin/mysql 自動起動になっているか確認 # chkconfig --add mysqld_slave # chkconfig mysqld_slave on # chkconfig --list | grep mysql
コピペができなくて面倒だったので、翻訳しただけのものをメモ
value stored to 'cell' during its initialization is never read その初期化処理中に"セル"に格納された値が読み取られることはありません
incorrect decrement of the reference count of an object that is not owned at this point by the caller 呼び出し側で、この時点で所有されていないオブジェクトの参照カウントのデクリメント誤っ
最近iphoneアプリの開発をメインでやっており、色々調べながらやっているのですが、
どれもインターフェースビルダーや、ストーリーボードを使った説明が多く個人的にはやりずらい印象をもっております。
と言う事で、色々探した結果、コードでUITabbarとUINavigationBarを共存させる方法が見つからなかったので、自力でとりあえず動いた方法を下記にメモします。
余力があればgithubにあげたいと思います。
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { _window= [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; _tabBarController = [[UITabBarController alloc] init]; //tabbarコントローラ初期化 // TabBarControllerに加える3つのViewController UIViewController *firstViewController = [[FirstViewController alloc] init]; UIViewController *secondViewController = [[SecondViewController alloc] init]; UIViewController *thirdViewController = [[ThirdViewController alloc] init]; //first用UINavigationController のルート画面 UINavigationController *naviFirstViewController = [[UINavigationController alloc] initWithRootViewController:scanViewController]; //UINavigationController のルート画面 UINavigationController *naviSecondListController = [[UINavigationController alloc] initWithRootViewController:secondViewController]; // tab bar controller の初期化 self.tabBarController.viewControllers =[NSArray arrayWithObjects:naviFirstViewController, naviSecondListController, thirdViewController, nil]; [self.window addSubview:self.tabBarController.view]; [self.window makeKeyAndVisible]; return YES; }
上記は、左から2つ目までのタブはそれぞれ、ナビゲーションバーをもっていて、それを最後にタブバーにセットしています。
やっぱりコードで書いた方が、何をやっているかしっくりくるし、
IBやXibもあわせてみる必要がなく大変扱いやすいです。
AndroidのListViewのレイアウトの使い方にとまどうこの頃w
AndroidでListViewレイアウトをつくっていてハマったのでメモします。
ListView内にButtonなどを設置してそのイベントと押したitemの番号を取得したい場合に簡単な方法を検証してて見つけ
たので忘れないうちにストックします。
@Override public View getView(int position, View view, ViewGroup viewGroup) { ーーー Button deleteBtn = (Button) view.findViewById(R.id.deleteBtn); deleteBtn.setTag(position); ーーー }
次に上記Buttonのレイアウト用にxmlにonCLickを追加
<Button
android:id="@+id/deleteBtn"
android:onClick="deleteGo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false"
android:text="delete" />
あとはメソッドでpostionを取得してやりくします!
public void deleteGo(View view) { Log.v("yorosiku!",view.getTag()); }
だいぶシンプルになったと思います、この方法がわかるまで色々見まわりましたが、
難しかったのでこれぐらいシンプルだと初心者でもすぐに使えるかと思います。
久しぶりの投稿!
objective-cを最近さわりはじめて、どうしても共通で利用したいグローバル変数的なものがほしかったので、色々しらべて見ました!
せっかく自分でメモリ管理できるobjective-cなので、一度作ったメモリをいろんなクラスから利用できたらなということで、参考になったサイトを下記にまとめました。
http://d.hatena.ne.jp/koichirohonda/20120325
http://blog.syuhari.jp/archives/2178
http://ylb.jp/iOSDev/SingletonSample.pdf
Androidアプリを作っていて、端末によって、バッググラウンドの処理が動いたり動かなかったりしたので、調べてみたらどうやらLMKという空きメモリが少なくなるとプロセスを殺すものがあるようだったので、メモ!
下記のようなログがそいつです!
Low Memory:No more background processes.
Android特有のものらしい、Killされる基準など下記サイトが参考なりました。
http://techbooster.jpn.org/andriod/application/1517/
http://d.hatena.ne.jp/hyoromo/20100509/1273399359
http://blog.cnu.jp/2010/10/11/android-process-kill/
http://d.hatena.ne.jp/misetu/20110108/1294490981
特にonPause等で裏側にまわるアプリなどバッググラウンド処理は、
消される可能性が高いようです。