MCPcopy
hub / github.com/race604/ZhiHuDaily-React-Native

github.com/race604/ZhiHuDaily-React-Native @main sqlite

repository ↗ · DeepWiki ↗
50 symbols 82 edges 20 files 6 documented · 12%
README

Android Gems

ZhiHuDaily-React-Native

The is a Zhihu Daily App client, implemented using React Native. This project can run on both Android and iOS, with more than 80% of code in common. This is a demo project to show how to develop a complete app with React Native. (The data api is from ZhihuDailyPurify)

How does it look like?

  • The home page

  • The drawer

  • The content page

How to run

  1. Prepare your environment: Requirements and Android Setup
  2. Clone this repo, and goto the project root directory
  3. run npm install
  4. run react-native run-android
  5. Enjoy

Related content

In this project, I used most of technology in React Native:

  • Flex Style
  • Direct Manipulation
  • Native UI Components
  • DrawerLayoutAndroid
  • Image/Text/ListView
  • TouchableHighlight/TouchableNativeFeedback
  • ToolbarAndroid/Navigator
  • StyleSheet/ToastAndroid/BackAndroid
  • Timers
  • AsyncStorage
  • Animations
  • Customize view
  • ...

TODO

  1. ~~Add local storage to cache data~~ (done)
  2. ~~Add List header banner~~ (done)
  3. ~~Add splash animation~~ (done)
  4. ~~Add swipe/pull to refresh~~ (done)
  5. ~~iOS compatible~~(done 80% of code in common)

License

This project is available under the MIT license.

Core symbols most depended-on inside this repo

parseDateFromYYYYMMdd
called by 1
DataRepository.js
onRefresh
called by 1
android/app/src/main/java/com/race604/react/view/swiperefresh/ReactSwipeRefreshLayoutManager.java
findScrollChild
called by 1
android/app/src/main/java/com/race604/react/view/swiperefresh/ReactSwipeRefreshLayout.java
getEventName
called by 1
android/app/src/main/java/com/race604/react/view/swiperefresh/event/RefreshEvent.java
onBackPressed
called by 1
android/app/src/main/java/com/rctzhihudaily/MainActivity.java
constructor
called by 0
WebView.js
_onChange
called by 0
WebView.js
render
called by 0
WebView.js

Shape

Method 36
Class 10
Function 4

Languages

Java82%
TypeScript18%

Modules by API surface

android/app/src/main/java/com/race604/react/view/swiperefresh/ReactSwipeRefreshLayoutManager.java12 symbols
android/app/src/main/java/com/rctzhihudaily/MainActivity.java7 symbols
android/app/src/main/java/com/race604/react/view/webview/ReactWebViewManager.java5 symbols
android/app/src/main/java/com/race604/react/view/swiperefresh/event/RefreshEvent.java5 symbols
android/app/src/main/java/com/race604/react/view/swiperefresh/ReactSwipeRefreshLayout.java5 symbols
WebView.js5 symbols
android/app/src/main/java/com/race604/react/view/CustomReactPackage.java4 symbols
android/app/src/main/java/com/race604/react/view/webview/ObservableWebView.java3 symbols
StoriesList.js2 symbols
DataRepository.js2 symbols

Dependencies from manifests, versioned

react-native0.17.0 · 1×
react-native-drawer1.4.2 · 1×
react-native-viewpager0.1.0 · 1×
react-timer-mixin0.13.3 · 1×

For agents

$ claude mcp add ZhiHuDaily-React-Native \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact