2014年10月8日水曜日

どんなに読みやすい説明書を作ってもダメな気がしてきた

本日2014年10月08日は皆既月食(月蝕)の日です。

え?このタイトルからなんでその話になるのか?
まあこれを見てください、言いたいことがわかりますから
あと愚痴交じり&矛盾がある可能性があるため

決して全部鵜呑みにするようなことはしないでください。
これは当日19時53分時点でのTwitterのトレンド内容です。
もうお気づきの方もいると思いますが

はい、とても誤字とは思えないあれでフォローのしようも無いやつです。
(どうやったら間違うんだこれ)
ここで注目したいのは
「日食」という誤字(一応誤字扱いにしておく、納得出来ないが)でかなりのツイートがされていること。(多分ネタにしてるものもあるだろうが)
ニュースやTwitterの話題で見ていたから今日見ている人、その時時間に初めて知って見ている人もいるでしょうが・・・・・・

これはさすがにひどすぎね??

もうわけがわかないよ
要するに何を言いたいのか
少なくとも、宣伝等のニュースではこんな誤字は無かったはずなので
読んでる側がちゃんと理解していないorしっかり読んでない
ということが言えるのではないでしょうか?
全員が全員とは言いませんが(釣り等のネタでつぶやいてる可能性もあるため)
なんだか開発者目指してる立場からすると、自分の作った製品の説明書が読まれずに使われて事故でも起こされるんじゃないかと心配になった今日の騒動でした。

P.S.月食は綺麗だったよ、曇ってて見にくかったけど

2014年9月28日日曜日

ニコ動タグ消しツール「NicoTagClean」公開(バグで停止中)

今朝ブログに届いたコメントで思い出したんですがほぼ完成しておきながらちゃんと公開していないことに気が付いたので公開します。

説明書を同梱しているので使い方はわかると思いますが、こういう機能がほしい、こういう風な操作にしてほしい等の意見があれば、私のTwitterかブログのコメントで言ってもらえると嬉しいです。
出来る限り実装させたいと思います。

無論バグ報告もお待ちしております

ダウンロードはこちらから(Ver1.4.0しかありませんが前までの奴は欠番です)
わりとヤバいバグが今頃見つかったので公開停止中

2014年9月20日土曜日

自作Twitterクライアント作成の記録(28) リスト表示の対応

かなり前に実装していた機能ですが全くそれに関して触れていなかったことに気が付く今日この頃
完全に忘れないうちにメモとして残しておきたいと思います。


2014年7月27日日曜日

自作Twitterクライアント作成の記録(27)Twitterクライアントを作るなら最初に見るべき項目

タイトルにはこう書いてますが、こいつの存在を知ったのはつい最近です。

実は少し前にニコニコで生放送しながら開発進めていると同じようにクライアント作ってる人が来たんですよ、無論いろいろ話をしていたんですが突然「Developer Display Requirements」
という単語が飛んできたわけですよ。
今回はその「Developer Display Requirements」(この先DDRと略します)についてのお話です。

・DDRとは何ぞ?

端的にいうとTwitter社によるクライアントにおけるツイートの表示の仕方の指針。

詳しいことは
Developer Display Requirementsが更新されたので再び訳してみた
か原文の
Developer Display Requirements
を見てもらうとして、つまりはクライアント作るならこれに準じてね?ってことですはい。(一応例外もあるらしい)
守らないとアプリケーションキーが剥奪されるとか、でも全部クリアしてるクライアントあまり見ないんだが・・・・・(あるにはある)

まあそれは置いておいて、一応DDRが設定されている目的としては
「使用環境の一貫性の確保」
みたいですが
そもそも公式のUIやシステムが気に入らないからクライアントをだn(ry
って文句いっても仕方ないね。

とにかく、クライアント作るなら一度は目を通しておくと幸せになるかも(ならないかも)
ということで今回はこの辺で

2014年7月11日金曜日

自作Twitterクライアント作成の記録(26)SDKのアップデートでちょっと困った件

どうも、ここ最近またこいつの開発にはまる私ですよ。
今回はSDKのアップデートで起きたちょっとしたことの解決法をメモしておきたいと思います。


2014年7月9日水曜日

自作Twitterクライアント作成の記録(25)GooglePlayにアプリを置いてきた件

やったことはタイトル通りです、ついに一般公開してしまいました。
まだまだ機能は少ないですがこれから使える機能を増やした上にどんどん使いやすくできたらいいですね。

デベロッパコンソールからはこんな風に見えてます。
ここにDLカウンタが付く日はいつになるのやら。

と、報告はここまでにして、ちょっと公開する際に手間取ったことをいくつか忘れないうちにメモしておきます。


2014年7月6日日曜日

自作Twitterクライアント作成の記録(24)複数画像の扱いとツイート可能文字数の表示

ほんの少し前に私のフォロワーさんから複数画像の投稿に対応しないの?
というメッセージをいただいたのでさっそく実装してきました。

まず現状のライブラリで複数画像の投稿ができるのかと思い調べてみたら。

Twitter4Jで複数の画像をアップロードしてツイートする方法
という何ともドンピシャな内容が書かれたサイトにありつくことに。
これを見て思ったのは、どうやら一枚一枚アップロードしてから後でリンクを張るみたいな構造になってるんですね。こういうのも触れてみて初めてわかることなのかもね・・・
というのは置いておき、無論アップロードということなので通信の動作が入るため別のスレッド等でこの処理を書かないといけないわけですが、まあツイートを投稿する非同期のメゾットにぶち込んでおけば問題なく動くと思います。

で、このサイトで宣言されているpath1,path2という変数Fileという型ではなくStringのため
   uri= data.getData(); //選択した画像の受け取り
   ContentResolver cr = getContentResolver();
String[] columns = { MediaStore.Images.Media.DATA };
Cursor c = cr.query(uri, columns, null, null, null);

c.moveToFirst();   
            if(path1 == null){
    path1 = c.getString(0);
   }else if(path2 == null)
   {
    path2 = c.getString(0);
   }else if(path3 == null)
   {
    path3 = c.getString(0);
   }else if(path4 == null)
   {
    path4 = c.getString(0);
   }
という風にそのままpathとでも名前をつけた変数に代入しておくといいと思います。

ちなみに
             Intent intent = new Intent(Intent.ACTION_PICK);
         intent.setType("image/*");
         startActivityForResult(intent, 1);
等をボタン等のイベントに書いておくとギャラリーが開いて
   protected void onActivityResult(int requestCode, int resultCode, Intent data) {

  super.onActivityResult(requestCode, resultCode, data);
  if (resultCode != RESULT_OK) return;

  if (requestCode == 1) {
   uri= data.getData(); //選択した画像の受け取り
   ContentResolver cr = getContentResolver();
String[] columns = { MediaStore.Images.Media.DATA };
Cursor c = cr.query(uri, columns, null, null, null);

c.moveToFirst();
if(path1 == null){
path1 = c.getString(0);
}else if(path2 == null)
{
path2 = c.getString(0);
}else if(path3 == null)
{
path3 = c.getString(0);
}else if(path4 == null)
{
path4 = c.getString(0);
}
  }
  }
これでギャラリーで選択した画像が取れるみたいです。

1つ向こうのサイトで書いてることで気を付けておくこと
update.setMediaIds(new long[2]{media1.getMediaId(), media2.getMediaId()});
これの[2]の部分を[]にしないとコンパイルが通りません何故か。
配列定数は、イニシャライザーにおいてのみ使用可能です。
とか出て怒られます。
配列定数はわかるけど、イニシャライザーってなんだ?
今度調べよう。

さてタイトルにあるもう一つの項目文字数表示。
こちらも何故かドンピシャなものが
[Android] EditTextの入力文字数を動的にカウント表示する方法
こちらのソースを参考にさせていただきました。
あとは表示の仕方を自分で決めてしまうだけ。ね、簡単でしょ?(簡単じゃないフラグ)
まあとにかく、徐々にクライアントとして必要な機能はついてきているわけですよ。

そろそろGooglePlayで公開してもいいかな。
でもその前にアイコンと、アプリ名をもっとセンスのいいものに・・・・誰か案をくださいお願いしま(ry

最後に
え?DMでの画像投稿はどうしたって?
まだだよちくしょーーめ!