Qiitanium is an unofficial Android application of Qiita

Overview

Qiitanium

icon

An unofficial Android application of technical information sharing service Qiita for programmers. (Article most of Japanese)

About Qiitanium GIF

Try out the application on the Play Store.

Get it on Google Play

Build


$ git clone https://github.com/ogaclejapan/Qiitanium
$ cd Qiitanium
$ ./gradlew installDebug

LICENSE

Copyright (C) 2014 ogaclejapan.

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Comments
  • Loadmore right after Pull to refresh

    Loadmore right after Pull to refresh

    リストをpullした直後にloadmoreすると、アイテムが複製(duplicated?!)される場合があります。おそらく、ロードする時、アイテムリストをsynchronizeしなかったわけ?

    あと、僕自分もQiitaクライアントを作ってますが、markdownの表示がうまく進めないためで止まってしまいます。Ogacleさんの解決方法(jsoup + html)は本当にすごい(simple, yet powerful/beautiful)ので、アイデアを借りて自分のものを完成させていただきたいと思います。

    opened by eneim 2
  • Update README.md

    Update README.md

    Replace broken google_play_store_badge url with the one that shows the badge with appropriate size; http://www.android.com/images/brand/get_it_on_play_logo_large.png

    opened by shoheikawano 1
  • Comment out AppActivity#getColor(@ColorRes int resId) method to prevent app crash

    Comment out AppActivity#getColor(@ColorRes int resId) method to prevent app crash

    This revision fixes #4.

    I have commented out AppActivity#getColor(@ColorRes int resId) method to prevent app from crashing right after it launches on Nexus 5 Android M preview. (Not sure if it occurs in other environment as well.)

    I'm guessing that a method with the same signature has been added to Context class in preview version so that it conflicts with the method above and causes app to crash.

    info

    • I've only confirmed that the app does not crash on Nexus 5 Android M preview with this revison.
    opened by shoheikawano 1
  • App crash right after launch

    App crash right after launch

    The app crashes right after I launch it on Nexus 5 Android M preview. (Not sure if it occurs in other environment as well.)

    Below is the crash log I got when the app crashes:

    08-09 02:46:35.398  19335-19335/com.ogaclejapan.qiitanium.dev E/AndroidRuntime﹕ FATAL EXCEPTION: main
        Process: com.ogaclejapan.qiitanium.dev, PID: 19335
        java.lang.LinkageError: com.ogaclejapan.qiitanium.presentation.activity.BootActivity
                at dalvik.system.DexFile.defineClassNative(Native Method)
                at dalvik.system.DexFile.defineClass(DexFile.java:226)
                at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219)
                at dalvik.system.DexPathList.findClass(DexPathList.java:338)
                at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
                at android.app.Instrumentation.newActivity(Instrumentation.java:1067)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2318)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2477)
                at android.app.ActivityThread.-wrap11(ActivityThread.java)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1345)
                at android.os.Handler.dispatchMessage(Handler.java:102)
                at android.os.Looper.loop(Looper.java:148)
                at android.app.ActivityThread.main(ActivityThread.java:5415)
                at java.lang.reflect.Method.invoke(Native Method)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:725)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:615)
    
    opened by shoheikawano 0
  • Update for API version 25

    Update for API version 25

    This PR fixes issue when latest Android Studio didn't compile immediately and not compile when go along with wizard of Android Studio.

    In particular:

    • Update android build tools version
    • Update gradle version
    • Update compile sdk version
    • Update support library version
    • Fix compile error
    • In addition, replace android-apt to integrated annotationProcessor method.
    opened by keima 0
  • LeakCanary reporting a leak in ArticleFragment

    LeakCanary reporting a leak in ArticleFragment

    Hello, I apologize in advance -- if this is not the right venue to report the issue and ask for help. I am using your application to teach myself android programming. I think your application combines best architecture practices (clean architecture concept) with the good use of Dagger 2 and Rx programming techniques -- that are necessary to build industrial strength android apps.

    As I progress through the code, I noticed that LeakCanary is reporting leaks (this one below happens simply after clicking on a particular article and then going back (clicking the back button on top a few times).

    Would like to ask if you had observed this behaviour in your development environment and and if yes, what did you attribute this leak to?

    thank you in in advance


    12-27 00:38:21.987 4353-4361/com.ogaclejapan.qiitanium.dev W/art: Suspending all threads took: 49.651ms 12-27 00:38:22.088 4353-4380/com.ogaclejapan.qiitanium.dev I/art: Explicit concurrent mark sweep GC freed 2037(120KB) AllocSpace objects, 1(36KB) LOS objects, 8% free, 21MB/23MB, paused 3.903ms total 126.901ms 12-27 00:38:34.911 4353-4361/com.ogaclejapan.qiitanium.dev W/art: Suspending all threads took: 104.984ms 12-27 00:38:36.048 4353-9002/com.ogaclejapan.qiitanium.dev D/LeakCanary: In com.ogaclejapan.qiitanium.dev:0.2.1-dev:4. * com.ogaclejapan.qiitanium.presentation.fragment.ArticleFragment has leaked: * GC ROOT static com.ogaclejapan.qiitanium.domain.model.Users.instances * references java.util.WeakHashMap.elementData * references array java.util.WeakHashMap$Entry[].[3] * references java.util.WeakHashMap$Entry.value * references com.ogaclejapan.qiitanium.domain.model.User.thumbnailUrl * references com.ogaclejapan.rx.binding.RxProperty.subject * references rx.subjects.BehaviorSubject.state * references rx.subjects.SubjectSubscriptionManager.state * references rx.subjects.SubjectSubscriptionManager$State.observers * references array rx.subjects.SubjectSubscriptionManager$SubjectObserver[].[3] * references rx.subjects.SubjectSubscriptionManager$SubjectObserver.actual * references rx.observers.SafeSubscriber.actual * references rx.Observable$33.val$observer (anonymous class extends rx.Subscriber) * references com.ogaclejapan.rx.binding.RxProperty.subject * references rx.subjects.BehaviorSubject.state * references rx.subjects.SubjectSubscriptionManager.state * references rx.subjects.SubjectSubscriptionManager$State.observers * references array rx.subjects.SubjectSubscriptionManager$SubjectObserver[].[0] * references rx.subjects.SubjectSubscriptionManager$SubjectObserver.actual * references rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.child * references rx.observers.SafeSubscriber.actual * references rx.Observable$32.val$onNext (anonymous class extends rx.Subscriber) * references com.ogaclejapan.rx.binding.RxWeakRef$1.val$action (anonymous class implements rx.functions.Action1) * references com.ogaclejapan.qiitanium.presentation.fragment.ArticleAboutFragment$1.this$0 (anonymous class extends com.ogaclejapan.rx.binding.RxAction) * references com.ogaclejapan.qiitanium.presentation.fragment.ArticleAboutFragment.viewModelHolder * references com.ogaclejapan.qiitanium.presentation.activity.ArticleActivity.fragmentManager * references android.app.FragmentManagerImpl.mAdded * references java.util.ArrayList.array * references array java.lang.Object[].[0] * leaks com.ogaclejapan.qiitanium.presentation.fragment.ArticleFragment instance 12-27 00:38:36.076 4353-4380/com.ogaclejapan.qiitanium.dev I/art: hprof: heap dump "/data/data/com.ogaclejapan.qiitanium.dev/files/suspected_leak_heapdump.hprof" starting... 12-27 00:38:39.225 4353-4380/com.ogaclejapan.qiitanium.dev I/art: hprof: heap dump completed (33MB) in 3.148s 12-27 00:38:39.238 4353-4353/com.ogaclejapan.qiitanium.dev D/AppActivityLifecycleCallbacks: com.ogaclejapan.qiitanium.presentation.activity.TopActivity@148819d6 ⟳ onActivityStarted 12-27 00:38:39.238 4353-4353/com.ogaclejapan.qiitanium.dev D/AppActivityLifecycleCallbacks: com.ogaclejapan.qiitanium.presentation.activity.TopActivity@148819d6 ⟳ onActivityResumed 12-27 00:38:39.275 4353-4418/com.ogaclejapan.qiitanium.dev W/EGL_emulation: eglSurfaceAttrib not implemented 12-27 00:38:39.275 4353-4418/com.ogaclejapan.qiitanium.dev W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xa1703520, error=EGL_SUCCESS 12-27 00:38:39.479 4353-4380/com.ogaclejapan.qiitanium.dev I/art: Explicit concurrent mark sweep GC freed 5787(400KB) AllocSpace objects, 0(0B) LOS objects, 15% free, 21MB/25MB, paused 18.195ms total 191.144ms 12-27 00:38:40.010 4353-4361/com.ogaclejapan.qiitanium.dev W/art: Suspending all threads took: 314.460ms 12-27 00:38:43.811 4353-4353/com.ogaclejapan.qiitanium.dev D/AppActivityLifecycleCallbacks: com.ogaclejapan.qiitanium.presentation.activity.TopActivity@148819d6 ⟳ onActivityPaused 12-27 00:38:44.000 4353-4353/com.ogaclejapan.qiitanium.dev D/AppActivityLifecycleCallbacks: com.ogaclejapan.qiitanium.presentation.activity.TopActivity@148819d6 ⟳ onActivitySaveInstanceState 12-27 00:38:44.001 4353-4353/com.ogaclejapan.qiitanium.dev D/AppActivityLifecycleCallbacks: com.ogaclejapan.qiitanium.presentation.activity.TopActivity@148819d6 ⟳ onActivityStopped 12-27 00:38:44.362 4353-4361/com.ogaclejapan.qiitanium.dev W/art: Suspending all threads took: 134.083ms 12-27 00:38:45.352 4353-4361/com.ogaclejapan.qiitanium.dev W/art: Suspending all threads took: 21.056ms

    bug 
    opened by vladp 1
Owner
ogaclejapan
ogaclejapan
GitPoint is one of the most feature-rich unofficial GitHub clients that is 100% free.

View repository and user information, control your notifications and even manage your issues and pull requests. Built with React Native, GitPoint is one of the most feature-rich unofficial GitHub clients that is 100% free.

GitPoint 4.6k Dec 28, 2022
Yet another Twitter unofficial client for Lollipop.

Tweetin Yet another Twitter unofficial client. Just design for Lollipop now!!! Screenshot: How to use the source code? Just import the Tweetin folder

Matthew Lee 177 Aug 24, 2022
GitHub Android application

Gitskarios Beta Testing Community Forum / Discussion Join the beta here Download it from Google Play! What is Gitskarios? Gitskarios is an Android App

Gitskarios 530 Dec 19, 2022
📲 Android Application to track any user activity on Github built using the Github Developers API. Used Retrofit to fetch data and MVVM Architecture.

Github Visualizer ?? Android Application to track any user activity on Github built using the Github Developers Api. A sample application to demonstra

Dheeraj Kotwani 104 Dec 28, 2022
A Social Media Application with a Chatbot.

Acro Chat A Social Media Android app build in using Features- Posts, Chat with Users, Profile Page, Chat bot Preview Home Page Messages Chat Bot Licen

Sachin Lohar 14 Aug 3, 2022
Android Stories library - Instagram-like android stories library that supports images from disk or from internet (url)

Android Stories Library Instagram like stories library for Android. Add it in your root build.gradle at the end of repositories: allprojects { reposi

Panagiotis Makris 3 Dec 20, 2022
Library for easy work with Facebook, Twitter, LinkedIn and Google on Android

THIS PROJECT IS NO LONGER MAINTAINED, FEEL FREE TO FORK AND FIX IT FOR YOUR NEEDS There is also an Android Library that is being maintained, CloudRail

Anton Krasov 1k Dec 18, 2022
Easy social network authorization for Android. Supports Facebook, Twitter, Instagram, Google+, Vkontakte. Made by Stfalcon

SocialAuthHelper A library that helps to implement social network authorization (Facebook, Twitter, Instagram, GooglePlus, Vkontakte). Who we are Need

Stfalcon LLC 97 Nov 24, 2022
Youtube-dl for android

youtube-dl-android Android library wrapper for youtube-dl executable. Based on yausername's youtubedl-android but with ability to download binary file

Vikas 97 Dec 30, 2022
Twidere for Android

Twidere for Android Material Design ready and feature rich Twitter/Mastodon/Fanfou app for Android 4.1+. Enjoy Fediverse now! Twidere-Android is maint

Twidere Project 2.7k Dec 27, 2022
A Reddit client for Android

This is a Reddit client on Android written in Java. It does not have any ads and it features clean UI and smooth browsing experience.

null 2.6k Jan 9, 2023
Slide is an open sourced, ad free Reddit browser for Android

Slide Slide is an open source, ad free Reddit browser for Android. It is based around the Java Reddit API Wrapper. Slide is available on the Google Pl

Carlos Crane 1.7k Dec 27, 2022
Open-source alternative Instagram client on Android.

Instagram client; previously known as InstaGrabber.

Austin Huang 1.1k Jul 23, 2021
Kickstarter for Android. Bring new ideas to life, anywhere.

Welcome to Kickstarter's open source Android app! Come on in, take your shoes off, stay a while—explore how Kickstarter's native squad has built and c

Kickstarter 5.7k Jan 2, 2023
A light Sina Weibo client for Android

BlackLight 新浪微博客户端 请注意,当前BlackLight的开发已经被冻结,直到2016年高考后重启。 The development progress has been FROZEN till June 2016. 详细介绍以及Changelog请见Play商店。 https://pl

Paper Airplane Dev Team/纸飞机开发团队 884 Nov 22, 2022
Cnblogs Client for Android - Material Design

Cotable - Yet Another Cnblogs Client for Android Description Cotable = Code + Stable (The Paradise of Coder) The Android client of Cnblogs that named

Steve Lemuel 38 Feb 12, 2022
GitHub client for Android based on the abandoned official app

ForkHub ForkHub started off as a fork of the official Android app from GitHub, and has since seen lots of improvements. You can see a comprehensive li

Jon Ander Peñalba 2.8k Dec 28, 2022
The Google I/O Android App

Google I/O Android App 2021 Update Due to global events, Google I/O 2020 was canceled and Google I/O 2021 is an online-only event, so the companion ap

Google 21.7k Jan 7, 2023
A handy Dribbble client for Android.

Notice Gunnner has been deprecated since Dribbble API v1 has been retired on March 26, 2018. Gunnner Gunnner1 is a handy Dribbble client for Android.

Egor Neliuba 60 Feb 12, 2022