アプリの開発と収益に関する実験的遊戯

ちょっとしたアプリで日々を少し楽しく

アプリ開発の収益公開、学習記録帳が堅調【2019年10月】

■ダウンロード数 10月は先月堅調だった時間割のダウンロード数は落ち着き、一方で学習記録帳のダウンロード数がかなり伸びました。インプレッション数が伸びているのでAppStoreの検索アルゴリズムが変わった影響が出ているのでしょうか。また、いくつかの好…

アプリ開発の収益公開、新学期シーズン到来【2019年9月】

■ダウンロード数 9月は新学期シーズンであり、時間割の月初のダウンロード数がかなり伸びました。特に多かったのはサウジアラビアなどの非英語圏で、競合アプリが少ない影響が出ているのではと感じました。その後ダウンロード数は落ち着きましたが月末にか…

【kotlin】画面遷移をして戻ってくる。コードでデータのやり取り実装

メモ: ・画面遷移だけであればstartActivity()でOK ・データのやり取りは共通のIDを使って行う ・遷移先の要素のIDを探して直接書き込む手法などもある。xmlでレイアウトしている場合など?データをやりとりするための共通のIDなどを定義 //メッセージに割…

【kotlin】空の配列を宣言したり、0で初期化したりする

メモ: ・空の配列はArray = arrayOf() ・配列の初期化はArray(size){i -> f(i)} //空の配列を宣言 var arr : Array<String> = arrayOf() //空のMapを宣言 var map : MutableMap<String,Array<Int>?> = mutableMapOf() //配列に要素を追加 arr += "Data" //Mapに0が24個入った配列を挿</string,array<int></string>…

【kotlin】日付を任意のフォーマットで書き出す、日付の加減算

メモ: ・SimpleDateFormatで指定書式の日付文字列を得られる ・日付の加減算にはCalendarクラスを用いるSimpleDateFormatのインポート import java.text.SimpleDateFormat 日付を指定のフォーマットにする val format = SimpleDateFormat("yyyy/MM/dd") val…

【kotlin】gsonを用いて任意のクラスの内容をSharedPreferenceに保存する

メモ: ・swiftでいうUserDefaultsにあたるのがSharedPreference ・そのままでは基本的な型しか保存できない ・gsonを使うと任意のクラスの内容を保存できるGsonのインポート import android.content.SharedPreferences import android.content.Context impo…

アプリ開発の収益公開、今月も順調に上昇【2019年8月】

■ダウンロード数 8月は夏休みとあって学習記録帳は好調。後半ではサウジアラビアやタイなどの非英語圏からの時間割のダウンロードが飛躍的に伸び、全体を通してダウンロード数が上昇しました。日次ダウンロード数は月初めの60程度から月末の120超まで倍以上…

【kotlin】Buttonを角丸にする

メモ: ・Button(あるいは一般にView)を角丸にするには一工夫必要 ・Shapeを別途定義し、Backgroundに設定することで角丸にできる //Buttonの宣言 val button = Button(this) //Shapeの定義 val shape = GradientDrawable() shape.shape = GradientDrawabl…

【kotlin】when(switch)文を使った色取得関数

メモ: ・kotlinの関数の記述は下記のような形 ・kotlinのswitch文はwhenを使う。stringでスイッチさせたり、in 0..2のような範囲指定も可能 fun getColorString(colornum: Int) : String{ var color : String when (colornum){ 0 -> color = "#FFFFFF" 1 ->…

【kotlin】アクションバーを消す(全画面表示)

app > res > values > styles.xml のstyleの値を書き換えます。 name = "AppTheme" parent = "テーマ名"となっているので、テーマ名を〜〜NoActionBarという名前のものに変更します。(Theme.AppCompat.Light.NoActionBarなど)

【kotlin】画面サイズを取得する

絶対座標で画面を構成する際、画面サイズ取得が必須になってくるのでメモ。 val dm = DisplayMetrics() windowManager.defaultDisplay.getMetrics(dm) val width = dm.widthPixels val height = dm.heightPixels

【kotlin】コードで絶対座標指定のビュー配置をする

Anko DSL Previewは最新のAndroidStudioに対応していないので、ネイティブのkotlinで書きます。 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) //画面いっぱいの相対レイアウトを指定 val layout = RelativeLay…

【kotlin】Ankoプラグインの導入からHello Worldまで

Ankoとは Androidの画面がxmlではなくコードで書けるようになるプラグインです。また、kotlin単体で使うよりもコードが簡潔になるメリットがあります。 Ankoの導入からHello World 1. AndroidStudio > Preference > Pluginよりプラグインを探します。 Anko S…

【kotlin】MacでのAndroid Studio導入から実機接続まで

この度Android開発を始めることにしました。 言語はJava互換の言語の中でも流行りのkotlinを選択。 開発環境はkotlin開発元のJetBrainsが提供しているIDEが良さそう、ついでに参考文献が多そうという理由でAndroid Studioを選択。これはInteliJというIDEにAn…

ワンポイントカラー画像を作る、VividMono

VividMonoは指定の箇所の色をそのままに、他の場所をモノクロに変えるワンポイントカラーフィルタ処理を行うことができます。必要な手順はわずか2ステップです。難しい操作は必要ありません。簡単に印象的な写真が得られます。 ステップ1. 鮮やかに見せたい…

アプリ個人開発者の広告収益公開【2019年7月】

7月は広告を試しに出してみたり、他サイト様に紹介いただいたりした結果、ダウンロード数が上昇しました。 ■ダウンロード数 2月に開発を始め、今月でおおよそ半年になります。学習記録帳はリリース三ヶ月となり、ダウンロード数は一日30強まで増えました。全…

【東大式勉強法】勉強時間を記録する

勉強の基本にして究極の奥義は勉強時間を意識することです。長時間勉強するのはもちろん立派で良いことなのですが、「今勉強している」「今日勉強した」という事実を意識することで質を伴ってきます。隙間時間のちょっとした勉強でも、質を伴えば積み重ねで…

【東大式勉強法】暗記は全体の流れから攻める

今回は暗記科目についてです。 結論から言うと、暗記は段階を踏んで、大きな枠、大きな流れを覚えてから細かい知識を埋めることが重要です。また、一つのものを覚えるときはなるべく多くの関連知識、他の知識との繋がりを意識する必要があります。 大きな流…

【東大式勉強法】数学の心構え完全マニュアル

数学の勉強は国語の勉強 数学は(文系ではなく)理系の代表的な学問ということで勘違いされがちなのですが、数学を解く上で一番重要なのは国語力です。 数学の答案を書いて、「説明不足」「意味不明」「題意を満たしていない」などとバツを入れられたことは…

【Swift5】UILabelのタッチイベントを拾って処理をする

UIButton以外のオブジェクトに対してタッチイベントを拾いたい場合があると思います。 その場合、以下のように処理します。 override func touchesBegan(_ touches: Set<UITouch>,with event: UIEvent?){ print("touched") //myLabelはタッチ判定をしたいUILabel if t</uitouch>…

【Swift5】ScrollView内のタッチイベントを検知してキーボードをしまう

ScrollViewのタッチイベントを検知するのは結構よくある需要だと思うのでメモしておきます。ScrollViewのタッチイベントを拾ったらsuperviewのタッチイベントを呼び出す、といった形にtouchesBeganをオーバーライドしたMyScrollViewを作ります。 class MyScr…

【swift5】横にスライドする画面のサンプル

横にスライドして次の画面を表示するサンプルを作りました。 画面遷移ではなく、次のデータが入ったビューを横から引っ張り出してくるイメージです。ビューの宣言と初期化 //2枚のビューを使ってスライドを表現する。スライド回数の奇数偶数で状態が2種類…

【swift5】ある月の日数を数える

ある月の日数をゲットしたいと思ったとします。 1,3,5,7,8,10,12月は31日、それ以外は30日で2月だけ28日か29日です。 switch文での定義ではある年では良いのですが閏年には対応できません。 コードでうまく表現する方法を模索した結果、以下のようなものに落…

【swift5】時間の値を成分別に取り出す、日付の加算を行う

日付や時間の値をintとして取り出したいことってあると思うんですよ。 この辺りの実装について、以前フォーマットなどで無理やり書いていたのですが、 どうやら以下のようにカレンダーを使うとスッキリと書けるようです。 let day : Int = Calendar.current.…

Adsenseの審査に受かるために行った6つのこと

このブログがGoogle Adsenseの審査に通りました。調子に乗って広告貼りまくっているので見にくくなってしまったらごめんなさい。様子を見ながら調整します。 さて、このGoogle Adsenseですが審査はそれなりに厳しく、受かるためにはいくつかのポイントがある…

広告を出したら一瞬だけダウンロード数が10倍に増えた

関数電卓スタンダード、学習記録帳、時間割MyClassTimeの3アプリについて、2万円ずつ2日間限定の広告を出してみました。計6万円です。た、高い。。 この広告というのはApple Search Adsによるもので、App Storeで検索をかけたときに一番上に表示されると…

【Qt5】QSignalSpyでシグナルが発行されるまで待つ

Qt

Qtでプログラムを書いていると、非同期なイベントのシグナルを待ちたい場面があります。 例えば別スレッドで画像を処理して、処理し終わるまでメインスレッドは待機したい、などですね。こんな時はシグナルウォッチャークラスを作ってループで監視させれば良…

過去の計算に戻れる、式が見られる電卓、履歴電卓

履歴電卓は画期的で使いやすい電卓です。 ■式が見えます。 入力している式が見えます。「=」を押すと計算されます。 ■演算子の優先度通りに計算します。 括弧の中を先に計算、加減より乗除を先に計算します。 ■計算履歴が確認できます。 過去の計算内容を修…

ごはんを食べて生き残ろう。「ごはんたべたい」

ごはんを食べなきゃ死んでしまう!? スマホを傾けてごはんを食べて生き残ろう、スーパーカジュアルゲーム「ごはんたべたい」、2019年春堂々のリリース! 深夜のテンションとゲーム作成の練習で作り上げたこのゲームは、作者の学生時代に愛したいわゆるクソ…

多言語対応でダウンロード数は2倍以上に増える

このサイトにアクセスしてくださっている方は日本語をメインで使われている方が多いとは思うのですが、英語や中国語への対応は面倒に思われているかと思います。 そこで、実際に国外からのダウンロードがどのくらいの割合なのかを最初に作ったアプリでもある…

プライバシーポリシー / お問い合わせ