ラベル プログラミング の投稿を表示しています。 すべての投稿を表示
ラベル プログラミング の投稿を表示しています。 すべての投稿を表示

2018年3月10日土曜日

NicoTagClean Ver3.0.0公開

2018年5月25日追記
Cookieを使ったログイン機能が壊れてることに気がついたので近いうちに直します

すごい久々のブログ更新とソフト更新である(3年ぶり)。
ダウンロードはこちらからどうぞ
※前回までと配布場所が変わっています
以下追加機能のこと等

2015年7月15日水曜日

NicoTagClean Ver2.0.0公開

というか正確には再公開である。

同時I/Oエラーをどうにかするために一から作りなおしたり、最近知ったReactive Extensionsを使ってみたり、ブラウザとCookieを共有を可能にしたりして、後は高解像度な環境でもレイアウト崩れしにくいようには気をつけて作りなおしたつもり。
変なエラーやバグもだいぶ減ったと思いたい。

ダウンロードはこちらより
OneDrive


2015年3月20日金曜日

onOptionsItemSelected()で何故かハマった件

onOptionsItemSelected()
知っての通りオプションメニューとしてボタンを配置したりActionBar上に配置したボタンが押されたことを検知するものである。
しかしある日事件が起きた。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
 switch (item.getItemId()) {
  //省略
 }
return super.onOptionsItemSelected(item);
}
これが突然動かなくなったのである。
もう訳がわからないのである。
先に言っておくがしっかりcase文に指定するものはしっかり存在している、また少し前まで動いており、ソースの書き換えはしたものの、該当ソースはその際一度も触れていないのである。
そこでブレークポイントを設置して互いのIDを確認すると何故か綺麗に1バイト分数値がずれるという謎のバグが発生しているという意味不明さ
ただどうも設定していたLabel情報はしっかり正しいのが来ていたため最終的には

筋☆肉
なんだこれ・・・・
きたねぇソースだ

2015年2月23日月曜日

自作Twitterクライアント作成の記録(32)(じみったーだけに)地味にソース公開しました

すっごい今更感しますが作成中のTwitterアプリのソース公開します
各リンクは下の欄からどうぞ
なお旧版と新板の違いについてですが、旧版は2015年2月23日現在公開されてるアプリのソースになり、新板はそれのソースを書き直してるだけです。(ついでに機能追加してたり)
また新板の方へソースをコミットしていく形になるので気になる方はちょくちょく確認してみるといいかも。
また、こういうふうにしたほうがいいよとかアドバイスがあれば何かしらの手段で教えてもらえると嬉しいです。
(旧版)
https://bitbucket.org/meronmks/oldzimittaproject/src
(新板)
https://github.com/meronmks/zimitta

2015年2月5日木曜日

Twitter4Jであるエラーに悩まされた件

どうも、最近色々手を出してよくわからないことになりかけてる私です
先日Android端末をbotサーバーにするというふざけた構想のアプリを組んでるさい詰まった事柄をまとめておきます。

UserStreamAdapterを継承したクラスからViewを弄ってもエラーを吐かない。
どういうことかというとこのクラス自動的に非同期的な処理になります。ある程度組んだことがある人ならわかると思うんですがこういう場合ちょっと工夫しないとエラーで落ちてしまうんですが、これを継承したクラスでは落ちない上に処理がそこで強制的に止まってしまいます。
何もエラーが出ないため厄介なタイプのバグだと思われます。
Handlerとかを使ってあげたら解決するはずです。

FATAL EXCEPTION: Twitter4J Async Dispatcher[0]
こちらは厄介なもので出る原因は結局わからずじまいでしたが、出ないようにすることは可能でした。回避法としては、ActivityのonCreateタイミングでRESTAPIを使用するもの何かを使う。
こうすると多分おそらく落ちません、多分・・・・

以上最近になって詰まった2点でした

2015年1月27日火曜日

自作Twitterクライアント作成の記録(31)たまには趣向を変えて

進行に本当に詰まったときは別のことをするのが一番!
と思ってますがどうですかね?
というわけで久々にC#コンパイラを立ち上げちょっとした小物(ただしTwitter関連)を作ってみることに。
一応目的としては通知だけに機能を絞ったクライアントを作ることにしました。
使用ライブラリはCoreTweet
インストール方法は割愛しますがVS2013であればNuGetから簡単にインストールすることが可能です。(ちなみにやりたいものによってはそれに関連した別ライブラリをNuGetからインストールする必要がある)
さらには常駐アプリ化し、いろいろやって作成開始約2時間でここまできました
察しの良い方はわかると思いますがこれただTLをバルーン形式で通知させているだけです。
ここからある程度自分で使えるようには仕上げないとな・・・・

2015年1月1日木曜日

IntelliJ IDEA で間違ってExclude from Compileをクリックしたときの対処法

どうも、つい最近eclipseからIntelliJ IDEAに乗り換えた私です。

なお一応書いておくとIntelliJ IDEA14.0.2を使用しています。

今回はエラーログ等の右クリックにあるExclude from Compileというボタンを誤爆したときのエラーと直し方をメモしておこうと思います。

まず押してしまうと、Exclude(除外)したソースが見つからないorシンボルが見つけられないという内容のものを吐きます。
こんな風にその対象のクラスを使用していると大量に出てきます。逆に使用していないとコンパイルは通ってしまうと思います。


こういう風になったときはクラス名と使用しているところがあってるかどうか等を調べるのはもちろんですが、そのようなミスが見当たらない場合こちらを見てみましょう。
メインメニューの「File」から「Settings」を押し大量に並んでいる左のリストから「Build,Execution,Deployment」、「Conpiler」、「Excludes」と選択していきます。
そうすると画面がこんな感じになると思います。
この右側にあるのが除外されたソースなので選択して右側にあるマイナスボタンを押して消していきましょう。
消し終わったらOKを押すことを忘れずに(私は一度押し忘れた)
そうするとコンパイルがちゃんと通るはずです。
なおこの方式で除外されたソースには
こんな風にバツ印が付くみたいなのでこれも一つの判断材料になるかも。

P.S. 今月までに新バージョン公開したいな(希望

2014年11月22日土曜日

自作Twitterクライアント作成の記録(30)Fragmentが想像以上に厄介だった件(解決)

AndroidでTabを使ったビューを作るときに推奨されてるFragment
一応2.2でも動くように目標を定めsupportv4ライブラリを使用して実装をし
(ちょっと古い画像だけど)
こんな感じに一応タブを作ったわけなんですよ。
ただこの後とあることでこのFragment(正確にはListFragment)が厄介なものだと知ることになりました。
そのあることとは
getLiatView()が使えない
どういうことなのかv4ライブラリにあるgetListView()メソッドはListViewを返してくれません。そのせいでListViewに項目を追加して表示を更新するたびに一番上まで戻される糞な状態に。

そしてさらに謎なのが
結構v4でgetListView()が使えるという日本語記事ばかりだったんですよね。
無論その方法で生成してみてもダメだったわけで、現在完全に止まってしまってます。

頼りの英語での記事も使えるって記述と使えないって記述が混在していてどうにもならない状態です。

おそらく3.0で追加されたものなのでそれと混じってるかどうにかしたらv4ライブラリのgetListView()でも取得できるのかもしれませんがこのままだとある意味の詰みです。
どうにかしてv4ライブラリでgetListViewが使用できる方法とかないんですかね?

追記
解決しました。
どうやらonActivityCreated()をオーバーライドしてそこでアダプターの作成とgetListViewを行うとちゃんと取得できるみたいです。
ほんとこんなややこしいのほんとありがとうございました(

2014年10月21日火曜日

自作Twitterクライアント作成の記録(29)アプリだけで連携解除がしたい

先日Twitterを何気なく見ていたら、PCを持っていない友人へ向けた連携解除の手順を示した画像が流れてきました。
そういえばアプリだけで連携解除が行えるようなものが無いなと思い、無いなら作ってしまうか

というわけでまずは完成品の画像をいくつか


2014年9月28日日曜日

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

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

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

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

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

2014年9月20日土曜日

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

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


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での画像投稿はどうしたって?
まだだよちくしょーーめ!

2014年6月26日木曜日

自作Twitterクライアント作成の記録(23)DM送信対応等

長いこと更新してませんでしたが、いろいろ忙しくてこちらまで手が回らない状況でした。
とにかく、DM送信(文字だけ)に対応させたので仕方のメモ的なものを残しておきます。

送信する際に使うもの(文字のみ)

mTwitter = TwitterUtils.getTwitterInstance(this);
mTwitter.sendDirectMessage(mentionID, params[0]);

mentionIDには相手方のUserID(Mention送信と同じでOK)paramas[0]には送信したい文字列を
あとは、返信等で使ったものを流用してDM送信機能の出来上がり。

画像送信の方は画像つきツイートと同じ要領でいけると思ってたらそうでもなく、なぜかうまく行かない・・・・うまくいったらまた書き換えておきます。

2014/07/06追記
タイトルの番号振り間違えてるorz

2014年4月28日月曜日

自作Twitterクライアント作成の記録(22) 環境を変えたら・・・・

どうも、おひしぶりです。
最近忙しくなってあまりプログラムを弄れない状況にいました。(主に大学)
行く日は片道1時間半かけて(この時間で講義聞ける)行ってます。関係ないですね。

さて、その大学で指定PCを買い、性能がかなり良かったので開発環境を移したのですが、その際発覚したアプリのバグについてすこし。


2014年3月12日水曜日

自作Twitterクライアント作成の記録(20)ようやくストリーミング安定?

さて、久しぶりの更新。最近リアルで忙しいから仕方ないね。
まあ、今回は開発進めてるよーって報告程度なので簡潔に。

おそらくストリーミングが安定しました!

↑ここ重要なとこです。

いつもの様に例の場所(OneDriveという名の物置)にAPKファイルを置いておくので、もしデバックに協力してくれる人がいたら協力していただけると嬉しいです。
こんな糞アプリに来るのか?)←自虐ネタ

そろそろAndroidのデベロッパ登録でもしてMarket上での配信を考えた方がいいのかな?
でもそれならあのアイコン(ひらがなの「つ」)をどうにかしたいとも思ってたり、でもあれでよくね?て思ってる自分もいたり。

なにかコメントいただけると嬉しいです。

最後に、もし需要があれば今回のストリーミング部分の汚いソースを公開するかも。
役に立つかどうかは知らない。

2014年2月16日日曜日

自作Twitterクライアント作成の記録(19)β0.9.8について

最近とある理由でAndroidのソフトを触る時間を増やしているつもりである。
という前置きは置いておいて今回の更新内容を

プロフ画面からフォロー数と、フォロワー数を見れるようにし、現在設置プロフ画面に設置しているボタンのすべてが使えるように。

プロフ画面にてスクロールを可能に(小さい端末に対応したつもり)

ストリーミング有効時、リプライ、ふぁぼ、RT、フォローがあると通知をするようにした
(バックグラウンドでも一応通知する模様、ただし、いつまで持つかは未検証)

このようになっております。
ところで、一つ前でエミュレータで接続できなくなったと書きましたが、どうやら時間が大幅にずれていた為だったみたいです、タイムゾーンがずれていても日付と時間があっていれば大丈夫な模様。

また、DMの機能作ると言ったな・・・・・あれは嘘d(うわなにをするやめ・・・・

真面目にしよう

一つ重要な連絡
どうも、ストリーミングでツイートを取得していると内部的なズレが起きて選択したものと全く違うツイートが選択されるみたいです。
また、最後のツイートの位置も上手く取れないみたいです。

とにかく直そう・・・・

2014年2月9日日曜日

ニコ動のコメントだけをAndroidで・・・・

先日動画の編集中にとあることを思った。
画面が一つしか無いからコメント返しががが・・・・・
私のPCだと、編集する際画面いっぱいを使わないと満足に編集すらできなくなるんですが、これにコメント返しをしようと思うとさあ大変。
スマホでコメントのみを表示するものは無いし・・・・どうするか・・・・ん?
だったら作ればいいじゃん!ということで使える程度のものが完成したので少し紹介。