Androidで画面にデータを表示するときに注意

TextViewなどで画面にデータを表示する場合

全てString型に変換する必要があります!!!

Button submit = (Button)findViewById(R.id.submit);
submit.setText("ここは必ずStrin型!!!");

お名前.com

以下はエラーになります。

int num = 3:
Button submit = (Button)findViewById(R.id.submit);
submit.setText(num);

どうやら、リソースIDと勘違いして「そんなリソースIDはないよー」っていうエラーを出すようです。。。。。

以下のように実装しましょう

int num = 3:
Button submit = (Button)findViewById(R.id.submit);
submit.setText(String.valueOf(num));

今日かなりハマりました。。。。。。

画面遷移する前に制御する[Swift]

画面遷移する前に制御する[Swift]

Swiftでは画面遷移する前に入力バリデーションチェックしたり、遷移先の画面にデータを渡したしするすることができます。

画面遷移する前に以下のメソッドを呼び出す

override func shouldPerformSegue(withIdentifieridentifier: String, sender: Any?) -> Bool 

falseを返したときは画面遷移させずにtrueを返したときだけ画面遷移します。

以下のサンプルソースのコメントを使って解説します。

期間限定イチ押しグルメが大集合!買うなら楽天市場

class ViewController: UIViewController {

    @IBOutlet weak var textField: UITextField!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    //下記のメソッドを追加する
    override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
        
        //データが空の場合は画面推移しない
        if textField.text == ""{
            
            return false
        }
        //trueを返したときだけ画面遷移する
        return true
    }

値を次の画面に渡したい場合もこのメソッドの中でデータをセットすればよいということになります。

以上です。

Ruby on Railsでデータベースとやりとりする(初心者向け)

Ruby on Railsでデータベースとやりとりする方を説明します。

開発環境構築が終わっていることを前提として説明していきますのでまだ開発環境構築できていない方は先に行ってきてください。(Webで探せば色々ありますので)

1、プロジェクトの作成

Ruby on Railsでは主にコマンドプロンプトで使っていきます。

Railsのプロジェクト作成は以下のコマンドで作成できます

rails new プロジェクト名

プロジェクト作成

今回は商品管理システムを作成していきます。

コマンドプロンプトで以下のコマンドを実行します。

rails new productManagment

すると下記のようにRailsのファイルが作成されていきます。

スクリーンショット 2017-02-19 9.51.20.png

2、Railsのプロジェクト内に必要なファイルを作成していく

cd コマンドを使って先ほど作成したディレクトリに移動しましょう

cd productManagment

必要なファイルの作成

Railsでは必要なファイルをコマンド作成できます

rails generate 必要なファイル

今回は「scaffold」コマンドを使って標準的なファイル群及び設定ファイルを一気に作ります。

rails generate scaffold データモデル名 データ属性:形式(複数列記)

今回は、登録する商品の「名前」「価格」「説明」を登録できるようにします。

rails generate scaffold Product name:string price:integer content:text

下記のように必要なファイルが作成されました。

スクリーンショット 2017-02-19 10.08.23.png

3、データベースファイルに自動書き込み

ここまでではまだ、「データベースファイル」が作成されていないので、「データベースファイルに書き込み操作」をします。

以下のコマンドを実行するとデータベースファイルに書き込まれます。

rails db:migrate

スクリーンショット 2017-02-19 10.13.06.png

4、商品管理システムを実行する

1〜3の操作のみで「商品管理システム」の完成です。(笑)

簡単すぎますね、、、

それでは作成したシステムを実行します。

サーバーを起動する

ローカルサーバーを起動するために以下のコマンドを実行します。

rails server

以下のような画面がでたらサーバーが起動できています。

スクリーンショット 2017-02-19 10.18.04.png

サーバーが起動したらwebブラウザを使って画面に表示させます。

システムを表示する

webブラウザで以下URLに作成する

http://localhost:3000/products

すると以下のような画面が表示されます。

スクリーンショット 2017-02-19 10.29.44.png

この画面では商品の

「表示」「登録」「編集」「削除」

の機能が備わっています。簡単すぎますね。。。。

ソースコードgithubに置いておきます。

GitHub

次回は画面を編集したり、新たな機能を追加したりしていきます。

筋トレを継続させるためにアプリを作った

[筋トレを継続する技術 ] (http://qiita.com/modal_soul/items/d6cdbde9072e2e38a609)の記事を読んで私も話たくなったので筋トレについて少し書く。

フリーウエイトをメインでやる(ダンベルなど)

筋トレといったら「フリーウエイト」です。 筋トレマシンで筋トレするより、ダンベルやバーベルを持った方が効率的に筋肉がつきます。

ビックスリー(ベンチプレス、スクワット、デットリフト)

筋トレは「ビックスリー」が一番大事です。 ダンベルカールばっかりやっていては体はでかくなりません。 この三つをやりましょう。

週3は筋トレする

仕事が何時に終わろうが、決めた日には必ずジムに通うこと。 週3回に分けて「ビックスリー」をやりましょう。

この週3回を管理する為のアプリを探しましたがイマイチしっくりこない。

ないなら作れ。

エンジニアたるものないものは作ればいんですよ。はい。 ということでSwiftを勉強し、アプリを作成しました!

開発環境は以下の通り。

MacbookAir : Sierra 10.12.3 Xcode : 8.2.1 Swift3

作ったアプリ

ビックスリーだけを管理するアプリ

一覧画面

IMG_0532.PNG

この筋トレをした日には”力こぶマーク💪”が表示されています。 ”力こぶマーク💪”が表示されているセルはクリックするとポップアップが表示されます。

  • CollectionView

を使って画面に表示させました。

投稿画面

IMG_0533.PNG

投稿画面では

  • DatePickerView(日付をタップすると表示されます)
  • PickerView(最大重量のテキストボックスをタップすると表示されます)
  • CoreDate

を使いました。

編集及び削除のポップアップ画面

IMG_0534.PNG

別StoryBoardを作りextensionを使って呼び出すように作成しました。

公開

ソースコードGithubに公開しましたので、筋トレをやる方はつかってください!!! https://github.com/superman199323/TrainigDiary