mobile-sdk-android | Crowdin Android SDK delivers all new translations | Internationalization library
kandi X-RAY | mobile-sdk-android Summary
kandi X-RAY | mobile-sdk-android Summary
Crowdin Android SDK delivers all new translations from Crowdin project to the application immediately. So there is no need to update this application via Google Play Store to get the new version with the localization.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of mobile-sdk-android
mobile-sdk-android Key Features
mobile-sdk-android Examples and Code Snippets
Community Discussions
Trending Discussions on mobile-sdk-android
QUESTION
Trying to load a waypoint mission with the Android SDK sample updated to version 4.11 results in an internal Null Pointer Exception
Prerequisites:
- An android phone installed with the sample SDK updated to 4.11
- A Matrice 100 / 600 connected to the DJI Assistant 2
Steps to reproduce:
- Open the sample SDK
- Click "Open" after the drone connects
- Click "New Waypoint Mission Operator"
- Click "Load"
- App crashes with the following stack
ANSWER
Answered 2019-Nov-19 at 08:30It is a bug on DJI's part, but they offered me a temporary solution until the next version is released.
QUESTION
I have created an android application using the DJI SDK. I have followed the instruction, and basically copied the code from the DJI Sample Code (https://github.com/dji-sdk/Mobile-SDK-Android/blob/master/Sample%20Code/app/src/main/java/com/dji/sdk/sample/demo/camera/LiveStreamView.java), since it was working properly.
After launching a Connectivity activity, which registers the SDK and connects to the Mavic 2 Zoom drone, another activity comes, which handles live streaming to a RTMP server. When using the sample code, streaming to the same RTMP server, it has no delay, but when using my app, it has a good 15 second delay. I can't figure out why, I'm using the same components. The only difference is that I'm setting the camera focus to the max, but I did the same in the Sample Code, so it shouldn't cause any problems. Also using the same VideoFeedView as in the Sample.
...ANSWER
Answered 2019-Oct-25 at 14:04Answering my own question, the only difference I noticed was that the SampleCode asked for 4 permission, and all the projects I've tried or copied the permissions, always just 3 permissions.
So Manifest:
< uses-permission android:name="android.permission.RECORD_AUDIO" />
your runtime permissions:
Manifest.permission.RECORD_AUDIO
and the delay is gone, all works fine. Still don't know why :)
QUESTION
I'm trying to implement a app that sends live video from drone to my custom rtmp server. When I use de LiveStreamManager from DJI Mobile SDK it gives me error code -3, and the stream do not start. How can I use this API?
My app registers successfully, I can setup missions, and get telemetry from drone. But when I try to use the LiveStreamManeger it won't work no matter what. Even by implementing exactly the way it is implemented in Sample Code, it does not work. Documentation in DJI API reference seems to be missing a few methods as well.
Here is my implementation
...ANSWER
Answered 2019-Apr-25 at 18:10Answering my own question...
I've managed to solve the issue. Apparently, to be able to use the LiveStreamManager you must first call the function VideoFeeder.getPrimaryVideoFeed() somewhere in your code or it will give error code -3.
Using the Sample Code there is a class in internal.utils.VideoFeedView that can be used to this purpose
I have first declared a private property VideoFeedView.
Then on my class constructor I call the initUI function.
QUESTION
I am using Jumio's NetverifySDK and trying to preselect a country when building the SDK object as specified in their documentation:
...ANSWER
Answered 2018-Dec-14 at 03:45Probably your api keys are configured incorrectly.
QUESTION
I'm trying to update my app to use the new 4.7.1 version, but as soon as I try to go to the activity where I'm using UXSDK Widgets, the app now crashes without additional log entries. After updating the SDK version, I made sure that my build.gradle, AndroidManifest.xml and proguard-rules.pro matched up in the relevant areas from the sample code at https://github.com/dji-sdk/Mobile-SDK-Android.
I noticed that across both versions of the SDK I receive very similar logcat errors:
...ANSWER
Answered 2018-Sep-20 at 18:23I ended up fixing this issue by copying over the contents of the example widget layout.xml (activity_default_widgets.xml) file. The only changes I noticed outside of element ordering between the two versions was:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install mobile-sdk-android
From Jitpack Add this to your root build.gradle at the end of repositories: allprojects { repositories { ... maven { url 'https://jitpack.io' } } } Add the dependency: dependencies { implementation 'com.github.crowdin.mobile-sdk-android:sdk:1.5.1' } For Android project which already have transitive dependency of com.google.code.gson, after integration of Crowdin SDK, it will show you the following error during build time: Duplicate class com.google.gson.DefaultDateTypeAdapter found in modules xxx.jar (xxx.jar) and jetified-gson-2.8.5.jar (com.google.code.gson:gson:2.8.5) To resolve, either exclude gson from Crowdin or from your library is OK, but be sure to keep the newer one for backward-compatibility. implementation ('com.github.crowdin.mobile-sdk-android:sdk:1.5.1') { exclude group: 'com.google.code.gson', module: 'gson' }
Manually download or clone this module.
To configure Android SDK integration you need to:. Distribution is a CDN vault that mirrors the translated content of your project and is required for integration with Android app. To manage distributions open the needed project and go to Over-The-Air Content Delivery. You can create as many distributions as you need and choose different files for each. You’ll need to click the Release button next to the necessary distribution every time you want to send new translations to the app.
Upload your xml localization files to Crowdin. If you have ready translations, you can also upload them.
Set up Distribution in Crowdin.
Set up SDK and enable Over-The-Air Content Delivery feature in your project.
The CDN feature does not update the localization files. if you want to add new translations to the localization files you need to do it yourself.
Once SDK receives the translations, it's stored on the device as application files for further sessions to minimize requests the next time the app starts. Storage time can be configured using withUpdateInterval option.
CDN caches all the translation in release for up to 15 minutes and even when new translations are released in Crowdin, CDN may return it with a delay.
Inject Crowdin translations by adding override method in BaseActivity class to inject Crowdin translations into the Context. If you already migrated to AppCompat 1.2.0+ version. Please use this method: Kotlin override fun getDelegate() = BaseContextWrappingDelegate(super.getDelegate()) Java @NonNull @Override public AppCompatDelegate getDelegate() { return new BaseContextWrappingDelegate(super.getDelegate()); } And for AppCompat 1.1.0 and lower use this: Kotlin override fun attachBaseContext(newBase: Context) { super.attachBaseContext(Crowdin.wrapContext(newBase)) } Java @Override protected void attachBaseContext(Context newBase) { super.attachBaseContext(Crowdin.wrapContext(newBase)); } Note! If you don’t have BaseActivity class add the following code to all of your activities.
Enable Over-The-Air Content Delivery in your project so that application can pull translations from CDN vault. Add the following code to App/Application class: Kotlin override fun onCreate() { super.onCreate() Crowdin.init(applicationContext, CrowdinConfig.Builder() .withDistributionHash(your_distribution_hash) .withNetworkType(network_type) // optional .withUpdateInterval(interval_in_seconds) // optional .build()) } Java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Crowdin.init(this, new CrowdinConfig.Builder() .withDistributionHash(your_distribution_hash) .withNetworkType(network_type) // optional .withUpdateInterval(interval_in_seconds) // optional .build()); } Config option Description Example withDistributionHash Distribution Hash withDistributionHash("7a0c1...7uo3b") withNetworkType Network type to be used for translations download Acceptable values are:- NetworkType.ALL (default) - NetworkType.CELLULAR- NetworkType.WIFI withUpdateInterval Translations update interval in seconds. The minimum and the default value is 15 minutes. Translations will be updated every defined time interval once per application load withUpdateInterval(900)
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page