Build an Android app to control a Q7 Camera P2P WIFI

This tutorial will teach you how to build an Android app to control a Q7 Camera P2P WIFI using the Android Studio development environment.

Start a new project


I create a new project with application name "Q7Camera". During the wizard i add a basic activity.

Import native libraries and sources

To control the camera you need the libraries at this link: https://github.com/brusdev/q7cam/tree/master/app/src/main/jniLibs/armeabi. Copy the previous library in the path "app/src/main/jniLibs/armeabi" of your project. The packages to import are x1.Studio.Core at https://github.com/brusdev/q7cam/tree/master/app/src/main/java/x1/Studio/Core and com.microembed.sccodec at https://github.com/brusdev/q7cam/tree/master/app/src/main/java/com/microembed/sccodec.


Edit the manifest

To use the native libraries you need to add the following permissions to the manifest:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


Edit the activity layout

I add the following sv to the activity layout to show the camera:
<SurfaceView android:id="@+id/surfaceView_video" android:layout_width="match_parent" android:layout_height="match_parent" />

Edit the activity source

To show the camera in an activity, it needs to implements the interfaces SurfaceHolder.Callback and IVideoDataCallBack, you can find an example here: https://github.com/brusdev/q7cam/blob/master/app/src/main/java/com/brusdev/q7cam/MainActivity.java.


Repository

You can find the repository with the complete example here: https://github.com/brusdev/q7cam.

Comments

  1. Hello, try the app and it reports these errors in the LOGCAST:

    W/linker: /data/app/com.brusdev.q7cam-2/lib/arm/libSCCodec.so has text relocations. This is
    wasting memory and prevents security hardening. Please fix.
    W/linker: /data/app/com.brusdev.q7cam-2/lib/arm/libchinalink.so has text relocations. This is wasting memory and prevents security hardening. Please fix.
    W/linker: /data/app/com.brusdev.q7cam-2/lib/arm/libsystem.so has text relocations. This is wasting memory and prevents security hardening. Please fix.

    any ideas ?

    thank you very much.

    ReplyDelete
  2. note: the app runs fine but does not show my q7 camera.

    ReplyDelete

Post a Comment

Popular posts from this blog

Smart solar water heating solution to take part in the Open IoT Challenge 4.0!

Smart solar water heating solution final report for Open IoT Challenge 4.0!

IoT temperature sensor with ESP8266 using LWM2M (Eclipse Wakaama)