• Breaking News

    [Android][timeline][#f39c12]

    Tuesday, December 7, 2021

    Weekly Questions Thread - December 07, 2021 Android Dev

    Weekly Questions Thread - December 07, 2021 Android Dev


    Weekly Questions Thread - December 07, 2021

    Posted: 07 Dec 2021 06:00 AM PST

    This thread is for simple questions that don't warrant their own thread (although we suggest checking the sidebar, the wiki, our Discord, or Stack Overflow before posting). Examples of questions:

    • How do I pass data between my Activities?
    • Does anyone have a link to the source for the AOSP messaging app?
    • Is it possible to programmatically change the color of the status bar without targeting API 21?

    Large code snippets don't read well on reddit and take up a lot of space, so please don't paste them in your comments. Consider linking Gists instead.

    Have a question about the subreddit or otherwise for /r/androiddev mods? We welcome your mod mail!

    Also, please don't link to Play Store pages or ask for feedback on this thread. Save those for the App Feedback threads we host on Saturdays.

    Looking for all the Questions threads? Want an easy way to locate this week's thread? Click this link!

    submitted by /u/AutoModerator
    [link] [comments]

    Weekly Who's Hiring Thread - December 06, 2021

    Posted: 06 Dec 2021 06:00 AM PST

    Looking for Android developers? Heard about a cool job posting? Let people know!

    Here is a suggested posting template:

    Company: <Best Company Ever>
    Job: [<Title>](https://example.com/job)
    Location: <City, State, Country>
    Allows remote: <Yes/No>
    Visa: <Yes/No>

    Feel free to include any other information about the job.

    submitted by /u/AutoModerator
    [link] [comments]

    Styles and themes in xml are hard to work with

    Posted: 07 Dec 2021 04:40 AM PST

    Hi everyone, for context i come from a web background, and i find styles and theming overly complicated in Android. They're hard to work with compared to css, which i know has its own challenges as well. to be clear i dont mean working with views like constraintview, ... etc and their attributes (i.e width, height, alignment), in fact this part is clear and works pretty much like css, but rather the structure of styles and themes in the res directory that makes styling these views reusable and organized. but then again i don't haven't much experience on android so it might just need getting used to. and what makes matters worse, is that there aren't many resources explaining this stuff. so what do you think?

    submitted by /u/amm_elkheir
    [link] [comments]

    WebView not found? Time to crash everything!

    Posted: 07 Dec 2021 10:33 AM PST

    WebView's distribution has been decoupled from the OS which leads to issues such as:

    "Failed to load WebView provider: No WebView installed"

    Have you ever come up against this, and if so, how do you handle it?

    submitted by /u/PestoPastah
    [link] [comments]

    Having issues connecting to an API to display search results to the user in an app.

    Posted: 07 Dec 2021 10:12 AM PST

    I am trying to create an app that will link to this api "https://api.covid19tracker.ca/reports?after=" which store an array "data" with objects in it for various information in int. However, I am currently getting a "org.json.JSONException: Value unsuccessful of type java.lang.String cannot be converted to JSONArray" just trying to display the results into a RecyclerView. I will be using an event click listener to link the search to a button but I just want the API to work and display everything first.

    I appreciate any help that anybody can offer.

    MainActivity.java

    public class MainActivity extends AppCompatActivity {

    public static final int CONNECTION_TIMEOUT = 10000;
    public static final int READ_TIMEOUT = 15000;
    private RecyclerView mCovid;
    private AdapterCovid mAdapter;
    u/Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //Make call to AsyncTask
    new AsyncFetch().execute();
    }

    private class AsyncFetch extends AsyncTask<String, String, String> {
    ProgressDialog pdLoading = new ProgressDialog(MainActivity.this);
    HttpURLConnection conn;
    URL url = null;
    u/Override
    protected void onPreExecute() {
    super.onPreExecute();
    //this method will be running on UI thread
    pdLoading.setMessage("\tLoading...");
    pdLoading.setCancelable(false);
    pdLoading.show();
    }

    u/Override
    protected String doInBackground(String... params) {
    try {

    // Enter URL address where your json file resides
    // Even you can make call to php file which returns json data
    url = new URL("https://api.covid19tracker.ca/reports?after=");
    } catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    return e.toString();
    }
    try {

    // Setup HttpURLConnection class to send and receive data from php and mysql
    conn = (HttpURLConnection) url.openConnection();
    conn.setReadTimeout(READ_TIMEOUT);
    conn.setConnectTimeout(CONNECTION_TIMEOUT);
    conn.setRequestMethod("GET");
    // setDoOutput to true as we recieve data from json file
    conn.setDoOutput(true);
    } catch (IOException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    return e1.toString();
    }

    try {

    int response_code = conn.getResponseCode();
    // Check if successful connection made
    if (response_code == HttpURLConnection.HTTP_OK) {

    // Read data sent from server
    InputStream input = conn.getInputStream();
    BufferedReader reader = new BufferedReader(new InputStreamReader(input));
    StringBuilder result = new StringBuilder();
    String line;
    while ((line = reader.readLine()) != null) {
    result.append(line);
    }

    // Pass data to onPostExecute method
    return (result.toString());
    } else {

    return ("unsuccessful");
    }

    } catch (IOException e) {
    e.printStackTrace();
    return e.toString();
    } finally {
    conn.disconnect();
    }

    }

    u/Override
    protected void onPostExecute(String result) {

    //this method will be running on UI thread
    pdLoading.dismiss();
    List<DataCovid> data = new ArrayList<>();
    pdLoading.dismiss();
    try {

    JSONObject obj = new JSONObject(result);
    JSONArray jArray = obj.getJSONArray("data");
    // Extract data from json and store into ArrayList as class objects
    for (int i = 0; i < jArray.length(); i++) {
    JSONObject json_data = jArray.getJSONObject(i);
    DataCovid covidData = new DataCovid();
    covidData.date = json_data.getString("date");
    covidData.change_cases = json_data.getInt("change_cases");
    covidData.change_fatalities = json_data.getInt("change_fatalities");
    covidData.change_tests = json_data.getInt("change_tests");
    covidData.change_hospitalizations = json_data.getInt("change_hospitalizations");
    covidData.change_criticals = json_data.getInt("change_criticals");
    covidData.change_recoveries = json_data.getInt("change_recoveries");
    covidData.change_vaccinations = json_data.getInt("change_vaccinations");
    covidData.change_vaccinated = json_data.getInt("change_vaccinated");
    covidData.change_boosters_1 = json_data.getInt("change_boosters_1");
    covidData.change_vaccines_distributed = json_data.getInt("change_vaccines_distributed");
    covidData.total_cases = json_data.getInt("total_cases");
    covidData.total_fatalities = json_data.getInt("total_fatalities");
    covidData.total_tests = json_data.getInt("total_tests");
    covidData.total_hospitalizations = json_data.getInt("total_hospitalizations");
    covidData.total_criticals = json_data.getInt("total_criticals");
    covidData.total_recoveries = json_data.getInt("total_recoveries");
    covidData.total_vaccinations = json_data.getInt("total_vaccinations");
    covidData.total_vaccinated = json_data.getInt("total_vaccinated");
    covidData.total_boosters_1 = json_data.getInt("total_boosters_1");
    covidData.total_vaccines_distributed = json_data.getInt("total_vaccines_distributed");
    data.add(covidData);
    }

    // Setup and Handover data to recyclerview
    mCovid = (RecyclerView) findViewById(R.id.recycler_view);
    mAdapter = new AdapterCovid(MainActivity.this, data);
    mCovid.setAdapter(mAdapter);
    mCovid.setLayoutManager(new LinearLayoutManager(MainActivity.this));
    } catch (JSONException e) {
    Toast.makeText(MainActivity.this, e.toString(), Toast.LENGTH_LONG).show();
    }

    }

    }
    }

    DataCovid.java
    public class DataCovid {
    public String date;
    public int change_cases;
    public int change_fatalities;
    public int change_tests;
    public int change_hospitalizations;
    public int change_criticals;
    public int change_recoveries;
    public int change_vaccinations;
    public int change_vaccinated;
    public int change_boosters_1;
    public int change_vaccines_distributed;
    public int total_cases;
    public int total_fatalities;
    public int total_tests;
    public int total_hospitalizations;
    public int total_criticals;
    public int total_recoveries;
    public int total_vaccinations;
    public int total_vaccinated;
    public int total_boosters_1;
    public int total_vaccines_distributed;
    }

    AdapterCovid.java

    public class AdapterCovid extends RecyclerView.Adapter<RecyclerView.ViewHolder> {

    private Context context;
    private LayoutInflater inflater;
    List<DataCovid> data = Collections.emptyList();
    DataCovid current;
    int currentPos = 0;
    public AdapterCovid(Context context, List<DataCovid> data) {
    this.context=context;
    inflater = LayoutInflater.from(context);
    this.data=data;
    }
    // Inflate the layout when viewholder created
    u/Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view=inflater.inflate(R.layout.container_covid, parent,false);
    MyHolder holder=new MyHolder(view);
    return holder;
    }

    // Bind data
    u/Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {

    // Get current position of item in recyclerview to bind data and assign values from list
    MyHolder myHolder= (MyHolder) holder;
    DataCovid current=data.get(position);
    myHolder.date.setText(current.date);
    myHolder.change_cases.setText("change_cases: " + current.change_cases);
    myHolder.change_fatalities.setText("change_fatalities: " + current.change_fatalities);
    myHolder.change_tests.setText("change_tests: " + current.change_tests);
    myHolder.change_hospitalizations.setText("change_hospitalizations: " + current.change_hospitalizations);
    myHolder.change_criticals.setText("change_criticals: " + current.change_criticals);
    myHolder.change_recoveries.setText("change_cases: " + current.change_recoveries);
    myHolder.change_vaccinations.setText("change_cases: " + current.change_vaccinations);
    myHolder.change_vaccinated.setText("change_cases: " + current.change_vaccinated);
    myHolder.change_boosters_1.setText("change_cases: " + current.change_boosters_1);
    myHolder.change_vaccines_distributed.setText("change_cases: " + current.change_vaccines_distributed);
    myHolder.total_cases.setText("change_cases: " + current.total_cases);
    myHolder.total_fatalities.setText("change_cases: " + current.total_fatalities);
    myHolder.total_tests.setText("change_cases: " + current.total_tests);
    myHolder.total_hospitalizations.setText("change_cases: " + current.total_hospitalizations);
    myHolder.total_criticals.setText("change_cases: " + current.total_criticals);
    myHolder.total_recoveries.setText("change_cases: " + current.total_recoveries);
    myHolder.total_vaccinations.setText("change_cases: " + current.total_vaccinations);
    myHolder.total_vaccinated.setText("change_cases: " + current.total_vaccinated);
    myHolder.total_boosters_1.setText("change_cases: " + current.total_boosters_1);
    myHolder.total_vaccines_distributed.setText("change_cases: " + current.total_vaccines_distributed);
    }

    // return total item from List
    u/Override
    public int getItemCount() {
    return data.size();
    }

    class MyHolder extends RecyclerView.ViewHolder{

    TextView date;
    TextView change_cases;
    TextView change_fatalities;
    TextView change_tests;
    TextView change_hospitalizations;
    TextView change_criticals;
    TextView change_recoveries;
    TextView change_vaccinations;
    TextView change_vaccinated;
    TextView change_boosters_1;
    TextView change_vaccines_distributed;
    TextView total_cases;
    TextView total_fatalities;
    TextView total_tests;
    TextView total_hospitalizations;
    TextView total_criticals;
    TextView total_recoveries;
    TextView total_vaccinations;
    TextView total_vaccinated;
    TextView total_boosters_1;
    TextView total_vaccines_distributed;
    // create constructor to get widget reference
    public MyHolder(View itemView) {
    super(itemView);
    date= (TextView) itemView.findViewById(R.id.date);
    change_cases= (TextView) itemView.findViewById(R.id.change_cases);
    change_fatalities= (TextView) itemView.findViewById(R.id.change_fatalities);
    change_tests= (TextView) itemView.findViewById(R.id.change_tests);
    change_hospitalizations= (TextView) itemView.findViewById(R.id.change_hospitalizations);
    change_criticals= (TextView) itemView.findViewById(R.id.change_criticals);
    change_recoveries= (TextView) itemView.findViewById(R.id.change_recoveries);
    change_vaccinations= (TextView) itemView.findViewById(R.id.change_vaccinations);
    change_vaccinated= (TextView) itemView.findViewById(R.id.change_vaccinated);
    change_boosters_1= (TextView) itemView.findViewById(R.id.change_boosters_1);
    change_vaccines_distributed= (TextView) itemView.findViewById(R.id.change_vaccines_distributed);
    total_cases= (TextView) itemView.findViewById(R.id.total_cases);
    total_fatalities= (TextView) itemView.findViewById(R.id.total_fatalities);
    total_tests= (TextView) itemView.findViewById(R.id.total_tests);
    total_hospitalizations= (TextView) itemView.findViewById(R.id.total_hospitalizations);
    total_criticals= (TextView) itemView.findViewById(R.id.total_criticals);
    total_recoveries= (TextView) itemView.findViewById(R.id.total_recoveries);
    total_vaccinations= (TextView) itemView.findViewById(R.id.total_vaccinations);
    total_vaccinated= (TextView) itemView.findViewById(R.id.total_vaccinated);
    total_boosters_1= (TextView) itemView.findViewById(R.id.total_boosters_1);
    total_vaccines_distributed= (TextView) itemView.findViewById(R.id.total_vaccines_distributed);
    }

    }

    }

    activity_main Layout File
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:fontFamily="sans-serif-black"
    android:text="@string/covid_19_information_tracker"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.0" />
    <TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="32dp"
    android:text="@string/please_enter_a_date"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.017"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/textView2"
    app:layout_constraintVertical_bias="0.0" />
    <EditText
    android:id="@+id/searchDateField"
    android:layout_width="264dp"
    android:layout_height="43dp"
    android:layout_marginStart="4dp"
    android:ems="10"
    android:hint="YYYY-MM-DD"
    android:inputType="date"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/textView" />
    <Button
    android:id="@+id/searchBtn"
    android:layout_width="401dp"
    android:layout_height="48dp"
    android:layout_marginTop="8dp"
    android:text="Search"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/searchDateField" />
    <androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recycler_view"
    android:layout_width="409dp"
    android:layout_height="551dp"
    android:scrollbars="vertical"
    app:layoutManager="LinearLayoutManager"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/searchBtn"
    app:layout_constraintVertical_bias="0.0"
    tools:listitem="@layout/covid_item" />
    </androidx.constraintlayout.widget.ConstraintLayout>

    submitted by /u/Fr0zenIc3
    [link] [comments]

    Android 12 and Notification Trampolines

    Posted: 07 Dec 2021 08:15 AM PST

    As a new Android developer, I never realized I was using an anti-pattern with a broadcast receiver to start a third-party app/activity and perform some internal operations when a user selects an action button in my app's notification. I thought this was the preferred method to do this.

    Fast forward to Android 12 and this is forbidden per https://developer.android.com/about/versions/12/behavior-changes-12#notification-trampolines.

    If I was starting my app's activity from a notification, I can easily address this, but I'm uncertain of the best way to handle this when starting a third-party app/activity.

    In perusing Stack Overflow, the accepted answer at https://stackoverflow.com/questions/69238026/android-12-notification-trampoline-restrictions is to use a "transparent" activity, which just seems like another anti-pattern to me (and someone else mentioned this in the comments there).

    How is everyone else handling this in the third-party app/activity case? What am I missing?

    I'd love to get my targetSdkVersion up without investing in yet another anti-pattern.

    Cheers.

    submitted by /u/BinkReddit
    [link] [comments]

    Best way to pass data to a fragment and prevent Transaction Too Large exceptions?

    Posted: 07 Dec 2021 01:45 AM PST

    I think this is a common issue I'm seeing with code at work.

    Commonly, there's some sort of object we parse from a network API, then pass this object around.

    For example, let's say we have a typical master detail list. On the master list screen, we fetch the objects and display it in a list. On the detail screen, we pass the the object clicked to display.

    I'm finding some users then get Transaction Too Large exceptions, which I think are from bundles that are too big. Sometimes the objects we parse from the JSON may have long Strings and I think the bundles with restoreInstanceState or something in the main activity seems to be growing larger over time.

    What are some of the ways to pass data?

    My thoughts:

    1. Simply through a bundle
    2. Saved State Handle (basically seems to be the same thing as grabbing things from a bundle?)
    3. Shared View Models - okay, but I don't like giving other screens access to a view model with stuff they don't use or need

    These are the ones I'm most familiar with. But I've also heard of perhaps using a repository to somehow do this? Would it be some sort of shared flow? Or maybe saving it to a Room database and retrieving it?

    Any thoughts on passing JSON objects which can be potentially too big?

    submitted by /u/IntuitionaL
    [link] [comments]

    Communication between UI and Logic

    Posted: 07 Dec 2021 04:38 AM PST

    Hey devs, I would like to know, how you guys implement the communication between the UI and the Logic. Let's say we use MVVM (View as the UI and ViewModel as the Logic) and there is a scenario where the user clicks on a button, an AlertDialog pops up and the user can click on further actions on the Dialog. I was wondering, how detailed the communication should be:

    Option 1:
    User clicks on Button -> inform ViewModel und trigger the View to show a Dialog -> View shows the Dialog, user clicks on a Button on the Dialog -> inform the ViewModel and do something.

    Options 2:
    User clicks on Button, View shows the Dialog independently, user clicks on a Button of the Dialog -> now inform the ViewModel and do something

    Option 1 seems a little more consistent, because every single action from the user goes to the ViewModel. But at the same time, it seems a little bit too much. Especially if you have more Dialogs in a feature and there is a big ping pong between View and ViewModel.

    Options 2 could be not really consistent, but maybe the View is able to handle "UI-Logic" by itself and can trigger the ViewModel, when its really necessary. This would help to avoid a lot of code.

    What do you think?

    submitted by /u/saint_walker1
    [link] [comments]

    Device wont switch on programatically

    Posted: 07 Dec 2021 04:12 AM PST

    I am working on a app, a part of which allows the user to specify a off/on time for the device.

    The app works fine of the emulator, and my Samsung S7 Note, but I also have a large screen interactive whiteboard that has a Android on-board system. On this system, the app switches the display off OK, but for switching on we hear the 'click' sound the device makes when turning on, but the display remains off.

    We think there might be a Android system setting affecting this, but if so which one?

    The code to turn the device back on is:

    public void wakeupTimer(){

    new CountDownTimer(wakeupTime * 1000, 1000) {

    public void onTick(long millisUntilFinished) {

    textTimer.setText("0:"+checkDigit(wakeupTime));

    wakeupTime--;

    }

    public void onFinish() {

    PowerManager pm = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE);

    PowerManager.WakeLock wakeLock = pm.newWakeLock(( PowerManager.FULL_WAKE_LOCK

    | PowerManager.ON_AFTER_RELEASE

    | PowerManager.ACQUIRE_CAUSES_WAKEUP), "commandandcontrol:TAG");

    wakeLock.acquire();

    finish();

    }

    }.start();

    }

    submitted by /u/Queasy_Ad492
    [link] [comments]

    How to achieve this Z-Axis animation

    Posted: 07 Dec 2021 03:49 AM PST

    I noticed this effect in Bundled Notes (note taking app for Android)

    https://imgur.com/a/zrOdTBt

    When opening a BottomSheetDialogFragment, the activity/fragment behind it gets animated up/down based on the bottom dialog's offset. Getting the offset of the dialog is quite easy, but then using that value to change the view behind it is proving difficult. I've tried messing with the window/decorView, modifying the translationZ and also the X/Y scale, but nothing works. Does anyone know how to achieve this? Thanks.

    submitted by /u/xTeCnOxShAdOwZz
    [link] [comments]

    Slotting in with Compose UI

    Posted: 06 Dec 2021 07:06 AM PST

    Are kernel sources enough to make custom roms for mediatek? (xiaomi redmi note 11 series)

    Posted: 07 Dec 2021 02:54 AM PST

    I read thata XIaomi released the kernel sources for note 11 series in this november. Considering mediatek being closed source, does the release of kernel sources give any hope into custom rom development of this android phone?

    submitted by /u/niceman0909
    [link] [comments]

    Building a library for Jetpack Compose UI and screenshot testing

    Posted: 06 Dec 2021 12:29 PM PST

    Best way to manage a fleet of Android devices and push app updates (without prompting Google login challenges)?

    Posted: 06 Dec 2021 12:07 PM PST

    Hi there, here is my use case:

    I am an app developer who ships my app pre-deployed on Android devices to various customers (the device is used only to run this app). These devices are logged in to a specific Google Workspace account and updates are pushed through Google Firebase App Distribution (tied to that Google account). I recognize this is not the intended purpose of Firebase App Distribution. I have turned off 2FA for this Google Workspace account.

    The problem I am encountering is that after some time if the session expires, or if Google detects a "suspicious login", when they try to access Firebase App Distribution it will force the user to re-authenticate the Google account which then prompts a Google "verify it's you" login challenge showing on all other logged in users' Android devices which is a very poor experience.

    Q: Is there any kind of provisioning I could perform on the Android devices before shipping them out that would enable me to continue to be logged in to a Google account and still use Firebase app distribution, but would never prompt the user for a login challenge? Does Google Workspace MDM allow for this (indefinite session)?

    If not, what is my best alternative? Using a third party MDM provider such as Scalefusion instead of Firebase App Distribution that doesn't depend on Google account sessions? Thank you.

    submitted by /u/flycatcha
    [link] [comments]

    Alternatives to Pendo

    Posted: 06 Dec 2021 04:48 PM PST

    Hi everyone! I currently use pendo to gain insight into customer usage of a web client. I was looking into adding an Android license, but found out it was going to cost 5k per application. While this isn't unfeasible, I was wondering if any of ya'll knew of any free/cheaper alternatives. Thanks!

    submitted by /u/ppsmith123
    [link] [comments]

    Android TV app rejected, with no further details provided / tickets being ignored

    Posted: 06 Dec 2021 07:57 AM PST

    Hey everyone,

    I am posting it here in order to get some guidance as I am lost as to what I can do.

    I submitted my Android TV app around a month ago and it was rejected due to: "Your app depends on having a "Start," "Select," or "Menu" button to reach the menu"

    The rejection reason is quite obvious, the issue I am having is that I have a button called "Menu" on screen all the time that you can navigate to using the D-PADS.

    Due to the mentioned above, I submitted a request for more information and explaining what I explained above, the first ticket was submitted a month ago, after not receiving any kind of response for a week I submitted another ticket, after two weeks of no response I submitted another ticket (a week ago) and obviously I didn't get any response.

    Any ideas what I can do?

    Edit: A very important thing to notice, I have been developing Android TV apps for almost 5 years now, submitted and published many of them in the Play Store but never encountered a situation such as this.

    submitted by /u/my_iptv
    [link] [comments]

    Room Database | Android Jetpack

    Posted: 06 Dec 2021 10:15 PM PST

    Open source Android projects with lots of Gradle modules

    Posted: 06 Dec 2021 08:03 AM PST

    Ok, I know this might be weird, but let me explain...

    I'm looking to explore an Android project with hundreds of Gradle modules to see how and why it is implemented that way. I know some large production apps uses thousands of modules, but obviously is not possible to explore the codebase.

    Does anyone know any open source project with that scale of modules? I believe the modules would be extremely small, and would contain just the minimal necessary code in it.

    Still, I'm extremely curious, so if anyone might share something related to this I would be glad to know!

    submitted by /u/xatokk
    [link] [comments]

    What's the best no code tool for publishing an MVP/beta ?

    Posted: 06 Dec 2021 11:00 PM PST

    Hi,

    I'm a backend python developer (I do some frontend dev in vueJS too) and I have a few mobile apps ideas. I don't have a lot of time lately but I still want to be able to dev MVPs on weekends and publish them to see if it's worth spending more time on a project.

    So I started looking at some no code tools, but there are so many of them ...I saw for example : appgyver, Adalo, glide that seem to do front and back end, things like xano for back end but no front, and bravo that transforms figma designs into apps.

    The best tool for me would have a variety of templates to work from and would help deploying the app to android (ios would be a nice to have) playstore. The best tool should also be the fastest one getting you from idea to deployed app with a clean result.

    Do you have any experience with this kind of tools ? What do you recommend ?

    submitted by /u/swentso
    [link] [comments]

    Mistakenly registered (paid $25) as organisation in Google Play developer

    Posted: 06 Dec 2021 01:09 PM PST

    Hi,

    Today, I had registered in Google Play developer profile for the first time. I had paid $25 and I mistakenly added as organisation instead of personal account. Now it is asking me for organisation details for verification, which I don't have(obviously). I have changes my account info to personal but it is still asking for organisation details for verification of identity. What to do now, like how to verify my account? Badly stuck, please help guys!

    submitted by /u/garvit2793
    [link] [comments]

    Previewing to rear cameras simultaneously

    Posted: 06 Dec 2021 01:05 PM PST

    Hello,

    I am trying to do what title says but I keep hitting a brick wall. From the camera manager's getCameraIds method I can see that there are three cameras on my phone: 0 ("normal" rear camera), 1 (front camera) and 2 ("wide angle camera).

    I can preview any of the to rear cameras and the front camera simultaneously with no issue, but when I try to open both rear cameras the camera device's state callback of the last-opened camera goes into the onError method with error 2, which from the documentation is correlated to the maximum amount of simultaneously open cameras having been reached.

    The question is: is there any way of getting around this limitation?

    submitted by /u/Buse_memeboi
    [link] [comments]

    The problem with mobile development, in one image

    Posted: 07 Dec 2021 03:08 AM PST

    Any advice on developing first app?

    Posted: 06 Dec 2021 11:27 AM PST

    Hello, my friends and I recently came up with an idea for an app. Does anyone have any advice on what common mistakes are? From a newbie anything willa help :)

    submitted by /u/Jooz1o
    [link] [comments]

    Android 11 Shared Storage

    Posted: 05 Dec 2021 10:35 PM PST

    Hello all,

    I'm working on an app that targets Android 11 and am trying to wrap my head around the framework. Namely, is it still possible to read a file from the shared images, edit it, and write to it still? If so, how would I go about doing that?

    If this is the wrong place to post, please let me know.

    submitted by /u/TheStataMan
    [link] [comments]

    Save me before interview

    Posted: 05 Dec 2021 06:57 PM PST

    After 2 years being away from coding. Luckily I have a pretty descent job opportunity in a good company. My technical interview is this week so it would be appreciated if anyone can suggest a course or simple project that covers most used features.

    submitted by /u/howlongisachineseman
    [link] [comments]

    1 star review from cheap phones

    Posted: 06 Dec 2021 10:18 AM PST

    I have an app recently got a few one star reviews complaining performance problem. But they all come from users with cheap $50 Walmart phone. How do you respond to those reviews? I would like to call out they are using a cheap phone in a polite way. Also do you guys blacklist all the cheap devices for your apps in the play console?

    submitted by /u/Effective-Budget7383
    [link] [comments]

    how to upgrade your app listing page.

    Posted: 06 Dec 2021 10:14 AM PST

    In this post, we will look at the Poltreder google play app listing. What impact do: app name, app icon, short description, screenshots, etc… make.

    And how you can make your Google Play app listing better.

    How does this sound?

    Let's get started!

    https://medium.com/augeo/how-to-upgrade-your-app-listing-page-98c198cb8886

    submitted by /u/Story-Line
    [link] [comments]

    No comments:

    Post a Comment

    Fashion

    Beauty

    Travel