Help us understand the problem. What is going on with this article?

Attiq: Qiita.com + Material Design - Qiitaの非公式Androidクライアントを出しました

More than 3 years have passed since last update.

TL,DR

勉強のため、ライブラリを試すために、Attiqを作りました。

ソースコードについて:多少な認証キーを整理してから公開する予定。

Play store URL: https://play.google.com/store/apps/details?id=im.ene.lab.attiq

Issue tracker: https://github.com/eneim/Attiq-app

Realtime feedback: https://gitter.im/eneim/Attiq-app

完全Ads-free、課金なしで提供します(本来、Pro版など考えています)

Attiqを作りました

スクリーンショット

Qiita API v1、v2 + web リソースを含め、かつAndroid向けMaterial化されたQiitaの非公式Androidクライアントです

Permissonの注意点

バカに利用しないPermissonを外さなかった。1.0.1で修正します

主な特徴

!以下、(BETA)があるものは、現在試しの状態で、多少な不具合がある可能性です

  • Material Design、テーマ 「DARK(BETA)」、「LIGHT」: デフォルトのAppCompat、AppCompat.Lightを元にして、テーマを拡張しました
  • サポートAndroidバージョン: minSdkVersion 21 あるいは、Android 5.0以降となります。Android 4の皆さん、ごめんなさい。時間があれば是非サポートを検討します
  • ログインあり・なしでもオッケー
    • Qiita API v2を使用したから、Oauth2でログインして、さらに便利に利用できます
    • ログインしないままでも新着記事一覧を閲覧できます
    • もちろんAPIのレートを増やすために、ログインでのご利用をオススメです
  • 記事一覧、閲覧歴史、(認証済みだけの)フィード(Qiita.comを開いた直後のページ)、記事詳細、ユーザー詳細ページなど

  • 記事のコメント一覧、コメント作成・編集・削除、しかもMarkdownで(認証が必要)

  • フォロー・アンフォローする(認証が必要)

  • シェアする

  • 数式をレンダリングする:MathJax(BETA)、設定ページにてON/OFFすることができます

  • App indexingを試しています。経験ないので、動かない可能性があります。

  • 記事の新規投稿がまだ実装していないが、Requestを聞きますので、ぜひ声を出してください

  • その他の細かい機能

  • 内部ブラウザで閲覧機能が、忘れました〜次のアップデートで追加します

利用したオープンソースライブラリやプロジェクト

アプリ内にもありますが、一応列系します

  • Android Support/Design系(ver 23.1.1)
  • Square/Jake Wharton 系: OkHttp3、Retrofit2 (beta4)、Picasso、ButterKnife、...
  • Google製系: Gson、Player services
  • Fabric/Crashlytics
  • Realm、jsoup
  • UI系、Markdown系

上記のライブラリ、知らない人がいるかもしれないので、詳細を述べます(build.gradleの一部)

build.gradle
    ext {
        support_libraries_version = '23.1.1'
        okhttp3_version = "3.1.1"
        retrofit2_version = "2.0.0-beta4"
        service_version = "8.4.0"
    }
    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')

        compile "com.google.android.gms:play-services-appindexing:${service_version}"

        compile "com.android.support:support-v4:${support_libraries_version}"
        compile "com.android.support:appcompat-v7:${support_libraries_version}"
        compile "com.android.support:design:${support_libraries_version}"
        compile "com.android.support:recyclerview-v7:${support_libraries_version}"

        compile "com.squareup.retrofit2:retrofit:${retrofit2_version}"
        compile "com.squareup.okhttp3:okhttp:${okhttp3_version}"
        compile "com.squareup.retrofit2:converter-gson:${retrofit2_version}"
        compile "com.jakewharton:butterknife:7.0.1"

        compile 'com.squareup.picasso:picasso:2.6.0-SNAPSHOT'
        compile 'com.jakewharton.picasso:picasso2-okhttp3-downloader:1.0.1'

        compile('com.github.ozodrukh:CircularReveal:1.3.1@aar') {
            transitive = true;
        }

        compile 'com.sothree.slidinguppanel:library:3.2.1'
        compile 'com.wefika:flowlayout:0.4.1'
        compile 'com.google.code.gson:gson:2.5'
        compile 'org.jsoup:jsoup:1.8.3'

        compile 'io.github.gitbucket:markedj:1.0.6'
        compile 'org.ocpsoft.prettytime:prettytime:4.0.1.Final'
        compile "de.greenrobot:eventbus:2.4.0"
        compile 'com.jakewharton.threetenabp:threetenabp:1.0.3'

        compile "io.realm:realm-android:0.87.4"

        compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
            transitive = true;
        }

        compile('com.crashlytics.sdk.android:crashlytics-ndk:1.1.2@aar') {
            transitive = true;
        }
    }
  • その他、参考になったオープンソースプロジェクト:Qiitaniumplaid

Qiita APIの利用

  • API v1、API v2だけでなく、http://qiita.com/api/publicまで利用させていただきます。そして、ユーザー詳細で、HTMLをパーズし情報を収得することも行いました(Contribute数など)
  • Qiita APIへの要望(ogaclejapanさんの記事を引き続き)
    • データベースへの問い合わせ数が増やすかもしれないが、現在、APIから収得できる情報が少ないので、もっと入れて欲しい
    • フィールドの値や構造を一致にして欲しい(例えば、記事のタグ)
    • ストック数、コメント数、contribute数など、v2に入れて欲しい
    • TOS、Privacy policyに対して

http://qiita.com/api/publicの使用が、Qiita.comのPrivacy policyに違反する可能性があると意識します。なので、Google Play Storeでの問い合わせをする前に、直接相談してください〜

Issue tracker、Feature requestやFeedbackなど

Issue tracker、feature requestをここに:https://github.com/eneim/Attiq-app

Realtime feedbackをサポートします、Gitterで: https://gitter.im/eneim/Attiq-app

では、Attiqのご利用、お待ちしております。よろしくお願いします。

eneim
the simple, the best
http://ene.im
givery
Giveryは社会を豊かにする人々のための成長エコシステムを創造する「成長」支援企業です。ITとリアルの両軸で事業を展開し、お客様・ユーザーの皆様・社員・社会の成長を全力で応援します。
https://givery.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away