• Breaking News

    Monday, March 1, 2021

    Android Dev - Weekly Who's Hiring Thread - March 01, 2021

    Android Dev - Weekly Who's Hiring Thread - March 01, 2021


    Weekly Who's Hiring Thread - March 01, 2021

    Posted: 01 Mar 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]

    Why are Developers from Ukraine excluded from #AndroidDevChallenge ?

    Posted: 01 Mar 2021 12:17 AM PST

    According to https://services.google.com/fh/files/misc/androiddevchallenge-compose-official-rules.pdf

    developers from some countries and areas are prohibited to participate. To save you a click:

    not a resident of Italy, Brazil, Quebec, Russia, Ukraine, Kazakhstan, Belarus, Crimea, Cuba, Iran, Syria, North Korea, or Sudan);

    While some countries are understandable to be on the list, others just bamboozle me.

    Italy (why ?) Quebec (it's Canada, what have they done wrong?)

    Russia (due to sanctions and occupation of Ukraine's Crimea)

    Kazakhstan - no idea, only guess is that they are on pair with Belarus with their irreplaceable leader

    Cuba, Iran Syria, North Korea or Sudan are obvious i think.

    But why Ukraine? Feels like we are being punished because part of our country was attacked by Russia?

    I really wanted to participate and at least get an entry prize - lego for my future baby to show her what daddy does.

    To Mods - I'm asking about directly related android challenge conducted by google and trying to understand its limitations. So I consider it to be directly related to Android Development.

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

    Android 12- Features That You Need To Know

    Posted: 28 Feb 2021 10:16 PM PST

    Android 12 is here! Google releases a major software update each year to its android mobile operating system. In 2020, it released Android 11. In 2021, it's announced Android 12 and is now available in the form of a developer preview. With this initial build, users can now install the OS on compatible devices. Google is improving and presenting a host of features in its most recent iteration of Android. Changes to media handling and notification support, improvements to privacy and haptic feedback and more polished notification UI all make the cut. Let's see the major confirmed features of Android 12.

    Features of Android 12-

    1. Easy Wi-fi Sharing-

    In Android 11, if you want to share your current Wi-Fi connection with anybody, you can create a QR code easily. But in Android 12, you can avoid barcode scanning and just click the "Nearby" button you can below the QR code. This will use Android's Nearby Share feature to transmit the Wi-Fi credentials to whom you like. While scanning the QR code is quite simple, this new feature allows you to share the connection data to multiple individuals without handling your phone around for everyone to scan. That is certainly more helpful!

    2. More Screenshot Markup Options–

    With a Pixel device, if you capture a screenshot, you can markup that shot with paintbrush-like tools. With Android 12, you can add text, Emoji and stickers to your screenshots using the same tool. This is not a big change but, it may prevent users from needing a third-party app to do the same thing.

    3. Improved Cookie Management-

    Android 12 is adding support for SameSite cookie behaviors to WebView. The SameSite feature enables developers to announce in the case a cookie must be restricted to a specific site. This inclusion must enhance the cookie management of Android 12 across various applications and OS. The top Android browsers already support this feature.

    4. AVIF Image Support-

    Android 12 launches AVIF image support. It is an image format that promises improved image quality over JPEG without penalty for larger file sizes. The format uses open-source video codec AV1, that was first introduced to Android 10.

    5. Compatible Media Transcoding-

    Though HEVC is growing in popularity, the video compression standard is not supported by all apps. Now, Google is ready to introduce a transcoding layer to Android 12 that will pet unsupported apps to take advantage of video compression. Video capture apps that don't support HEVC can now request Android 12 to transcode that file in AVC – a more available video compression format. Google

    Google noticed that this is a stop-gap solution and urges developers to include HEVC support for their applications. This feature's performance is dependent on a device's processing power. For example, a one-minute 1080p video takes nine seconds to transcode on Pixel 4, proposing that it may not be appropriate for spending gadgets. Considering all things, the element will be accessible for all Android 12 gadgets with video capture capabilities.

    6. Haptic-Coupled Audio Effect-

    Google is allowing developers to mate haptic feedback patterns with audio in Android 12. Duration and strength of vibrations are taken from audio cues, that adds more engaging layer to media playback or alerts. For instance, a video calling app could use custom ringtones to identify caller with haptic feedback, or you could simulate rough terrain in a racing game," explains Google.

    7. Notification Enhancement-

    Notification system of Android 12 will be redesigned to enhance usability, functionality and aesthetics. Google is changing controls and drawers and rebuilding animations and transitions. Also, it has targeted responsiveness. Android 12 will get developers to get rid of transpolines, middle-man broadcast services or receivers. Trampolines bounce users from notification to application. Google needs notification buttons to take users directly to the app itself in Android 12. Also the company is delaying some foreground service notifications' display by till 10 seconds. This will provide short tasks a comprehensive window to complete before knocking the user.

    8. Rich Content Insertion-

    Google is offering users more control over rich media through the keyboard, clipboard and drag and drop. New API will allow users to insert and move media from any of these sources. Supported formats will include "plain and styled text to markup, images, videos, audio files and so on per Google. For users, it should rapidly process file sharing or styled text to other or across apps.

    9. Double-Tap Gesture For Pixel Phones-

    Google could be attempting to bring a double tap gesture to Pixel phones with Android 12. By giving a quick double tap to the phone's back, can invoke Google assistant but it can be configured for other actions also, like taking a screenshot, pause/resume media playback, open notification shade and open the recent apps view. Double-tap gesture was first spotted last year as a potential android 11 feature. It was rumoured to supplant the "Active Edge" squeeze gesture, however it won't ever materialise. Google is working to revive the feature, codenamed Columbus, for Pixel phones.

    10. Android 12 Updates Through Google Play

    Android Runtime (ART) will be included to Project Mainline – Google's Play system updates program. This will allow the updates of form push key to ART and other necessary Android 12 services through Google Play, avoiding the necessity for system updates to change these features. Google also notes that more module updates will be pushed through Project Mainline in the near future, including its transcoding improvements.

    11. Permissions Dialog-

    Google launched the permission handling feature which is helpful in case you want to stay alert about how applications use your mobile's sensors and other accesses also. Now, with Android 12, the permissions dialog box needs a shortcut for always allowing access in settings.

    12. Hidden Selfie Camera On Pixel 5-

    Detected by Android Police, Google is now giving Pixel 5 users an option to hide the punch hole in Android 12. When setting is enabled in the Developer menu, the selfie camera is hidden by black bar. Status bar will also be displayed in this bar.

    13. Easier Debugging And Testing Of Changes-

    Simplifying the test opt-in transformations for android developers that can impact their apps, Google has made most of them toggleable. By the use of toggles, developers can forcefully enable and disable the changes separately from adb or Developer options.

    You can also – How to reduce Android App size during development?

    Wrap up-

    These are some of the important features in android 12 that you must know. There can be some others too. If you're thinking to build an android app with advanced features, then you must know these features before starting development.

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

    We Need Better than Gradle — Adam Erb

    Posted: 28 Feb 2021 01:32 PM PST

    FOSS video playback project needs devs (Java/Kotlin)

    Posted: 01 Mar 2021 05:10 AM PST

    The jellyfin project are re-writing the playback functionality of their AndroidTV client. If you've got the skills to help, they alway need more devs.

    https://github.com/jellyfin/jellyfin-androidtv

    https://github.com/jellyfin/jellyfin-androidtv/labels/playback

    submitted by /u/8ceyusp
    [link] [comments]

    Talking Kotlin – Catching Up With Roman Elizarov

    Posted: 01 Mar 2021 07:14 AM PST

    Compose plugin for Android Studio and Intellij Idea

    Posted: 01 Mar 2021 06:56 AM PST

    I'm super excited to announce my first plugin for Intellij Idea and Android Studio. It allows you easily wrap your Composable with Row, Column and etc.

    You can download it by link below

    https://plugins.jetbrains.com/plugin/16174-wrap-compose
    or from Plugins section in Android Studio or Intellij Idea

    Hope it will make your development easier and more enjoyable

    Have a great day!

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

    new to android programming, failed to save data in storage

    Posted: 01 Mar 2021 05:31 AM PST

    I am new to android programming, tried to save app data as csv, but failed. Please help. Next is the code. I tried to use file writer. I made public void writeStringAsFile(final String fileContents, String fileName) at the end and in public void onSensorChanged(SensorEvent sensorEvent) I call the writeStringAsFile but nothing happens.

    package com.example.firstsensorcomputing;

    import androidx.appcompat.app.AppCompatActivity;

    import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.os.Environment; import android.widget.TextView; import android.widget.Toast;

    import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.Arrays; import java.util.logging.Logger;

    public class MainActivity extends AppCompatActivity implements SensorEventListener {

    private SensorManager sensorManager; private FileWriter writer; Sensor accelerometer; long starttime = 0; double[] mag = new double[60]; int i = 0; double min = 0; double max = 0; double var = 0; double std = 0; int interval = 2; TextView text1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // register sensors text1 = (TextView) findViewById(R.id.text); sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); sensorManager.registerListener(MainActivity.this, accelerometer, sensorManager.SENSOR_DELAY_NORMAL); text1.setText("min " + min + " max " + max + " var " + var + " std " + std + " "); } @Override public void onAccuracyChanged(Sensor sensor, int i) { } @Override public void onSensorChanged(SensorEvent sensorEvent) { double magnitude = Math.sqrt(sensorEvent.values[0] * sensorEvent.values[0] + sensorEvent.values[1] * sensorEvent.values[1] + sensorEvent.values[2] * sensorEvent.values[2]); long millis = System.currentTimeMillis() - starttime; int seconds = (int) (millis / 1000); int minutes = seconds / 60; seconds = seconds % 60; min = minimum(mag); max = maximum(mag); var = variance(mag); std = standardDeviation(mag); if (seconds % interval == 0 || i == 60) { //Arrays.fill(mag, 0.0); text1.setText("min " + min + " max " + max + " var " + var + " std " + std + " "); writeStringAsFile(String.valueOf(text1.getText().toString()), "mydata.csv"); i = 0; } else { mag[i] = magnitude; i++; text1.setText("min " + min + " max " + max + " var " + var + " std " + std + " "); // } } public static double minimum(double data[]) { if (data == null || data.length == 0) return 0.0; int length = data.length; double MIN = data[0]; for (int i = 1; i < length; i++) { MIN = data[i] < MIN ? data[i] : MIN; } return MIN; } public static double maximum(double data[]) { if (data == null || data.length == 0) return 0.0; int length = data.length; double Max = data[0]; for (int i = 1; i < length; i++) Max = data[i] < Max ? Max : data[i]; return Max; } public static double variance(double data[]) { if (data == null || data.length == 0) return 0.0; int length = data.length; double average = 0, s = 0, sum = 0; for (int i = 0; i < length; i++) { sum = sum + data[i]; } average = sum / length; for (int i = 0; i < length; i++) { s = s + Math.pow(data[i] - average, 2); } s = s / length; return s; } public static double standardDeviation(double data[]) { if (data == null || data.length == 0) return 0.0; double s = variance(data); s = Math.sqrt(s); return s; } public void writeStringAsFile(final String fileContents, String fileName){ Context context = getApplicationContext(); try{ writer = new FileWriter(new File(context.getFilesDir(),fileName)); writer.write(fileContents); writer.close(); }catch (IOException e) { System.err.print("Something went wrong"); } } 

    }

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

    Screen navigation in Android using fragments with only add + show/hide without replace at all.

    Posted: 01 Mar 2021 01:15 AM PST

    Hello, i found interesting approach of screen navigation in Android using fragments with only add + show/hide without replace at all.

    The example : https://github.com/grishka/appkit/blob/master/appkit/src/main/java/me/grishka/appkit/FragmentStackActivity.java

    Also author does not use system backstack. He emulates it by hand.

    I see the following advantages:

    • fragments does not losing state when on "stack", no onDestroyView is called
    • app uses less CPU when do back - not needed to recreate view for fragment
    • we can !!! communicate between fragments directly with simple callbacks, for example to get result from fragment. We no need use fragment result api and others.

    Disadvantages:

    • need manually implement it (it is not so hard)
    • app consumes more memory because all fragments in memory. Especially when "stack" is deep

    This approach is similar as activities work by default - each new screen opened above previous and all activities stay in memory.

    What do you think about this approach ?

    What the reason that Google recommends use replace.addtobackstack for screen navigation? They also use this in navigation component. In my opinion replace gives many problems , only advantage is less memory. Why not just use add + show/hide with all in memory? For activities it was not the problem , right?

    Thanks!

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

    Mac m1 android emulator

    Posted: 01 Mar 2021 08:41 AM PST

    Wehn come prewiev 3 of the android emulator for mac m1

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

    Would the performance of Jetpack Compose's preview feature improve once it's out of Beta?

    Posted: 01 Mar 2021 07:51 AM PST

    Hi all. So, I am starting to explore Jetpack Compose. As of now, the preview feature of Jetpack Compose is very resource-intensive for my laptop which has a 3rd Generation i3 processor. Is this because it's currently in beta, will it have a significant performance boost when it becomes Stable?

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

    An indepth review of Logo Maker Free - My most recent android Project

    Posted: 01 Mar 2021 04:47 AM PST

    Hey Android fam,
    I have published my article on my recent development "Logo Maker Free" where You can create logo, icon, thumbnails using the app with layer support. you can do stuff like hide layer, change opacity and typography options as well.

    All you need is pick a logo template from more than 20+ categories and 1500+ free logo design templates, add your desired background, images and texts, overlays. make silhouette from the chosen logo, edit the logo templates according to your needs.

    Medium Article : https://mabrar92.medium.com/i-developed-the-logo-maker-app-for-android-f71965adf3db?source=friends_link&sk=dfef64da0c1e724037f7bdcbd9f10416

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

    Chaquopy – Python SDK for Android

    Posted: 01 Mar 2021 04:33 AM PST

    how can we implement fragment to fragment callbacks implementation while using navigation components?

    Posted: 01 Mar 2021 02:59 AM PST

    callbacks require an instance of fragment to callback the calling fragment. its easy to implement when using activity as the context could be type casted as Callbacks and mainActivity will recogonise. but to do that with fragment did'nt we need to pass the fragment instance into setTargetFrament(this@fragment,...) but how can we achive the same result if using navigation components to navigate.

    example code

    class myact : Activity(), fragment.Callbacks { override fun mycallbackfunc(value: Any) { TODO("Not yet implemented") } } class fragment1:Fragment(), fragment.Callbacks { override fun mycallbackfunc(value: Any) { TODO("Not yet implemented") } // how to do the same above(activity + fragment) implementation using fragment 1 ? as context cant be cast into a fragment1? // if we were using fragment manager we could have used setTargetFragment(this@fragment1, REQUESTCODE) // and later could typecast targetFragment{fragment -> ((fragment as Callbacks).mycallbackfunc } // but i have no idea how to do if taking help of navigation library. } class fragment: Fragment(){ interface Callbacks{ fun mycallbackfunc(value: Any) } var callbacks: Callbacks? = null override fun onAttach(context: Context) { super.onAttach(context) callbacks = context as Callbacks } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) callbacks?.apply { mycallbackfunc() // DO SOMETHING } } } 

    I want fragment1 to call fragment and implement the callbacks function. how to configure fragment so this is possible.

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

    Android 12 Beta

    Posted: 01 Mar 2021 01:56 AM PST

    Hello, I want to use my device redmi note 6 pro android 12 Beta, where can I download it both as a developer and to eliminate the problems? Does it also happen with I / O?

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

    What do you do on your first day at work?

    Posted: 01 Mar 2021 01:29 AM PST

    Let's talk about first days! Be it as an entirely new Android engineer at work or just moving to a new employer/client. Share what do you usually do!

    For me, before installing any company specific stuff/Android Studio I'm used to installing git, homebrew and gitkraken. Other than that it's the usual email, slack, company specific tools etc. Also whenever I can I set-up an additional expectation setting meeting with my manager to align our understandings with the role and the team - I know that this should be clear from the get go. But this allows me more to clarify and learn more specific stuff about the real work.

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

    “Free” IAP

    Posted: 28 Feb 2021 07:10 PM PST

    Is there any way for me to have a "Free" IAP?

    I'm trying to convert a paid app to a subscription based one, and it would be super useful if I could convert a local variable into an IAP for tracking purposes?

    Apple provides the "original purchase version" which has been super useful for this reason

    Thanks!

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

    Is there a way to disable rating and comments on google play store

    Posted: 01 Mar 2021 12:10 AM PST

    Ratings and comments doesn't really matter for our app because our app is not actually for public use. Now we want to disable this feature. is it possible?

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

    Xamarin Forms: ListView doesnt update when bound ItemSource (List of objects) property changes (not add/remove object, but change on of already existing)

    Posted: 28 Feb 2021 11:04 PM PST

    I have some kind of inventory where I want to scan RFID/QR codes and display items and quantity in a ListView.

    I have a ObservableCollection list of my objects (name, quantity), which I am also displaying in my ListView. When I find new item and add it into the List, my listView gets properly updated. But when I scan already existing item and I only update its quantity, it doesnt update. Any idea?

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

    Swift and kotlin vs flutter

    Posted: 01 Mar 2021 02:47 AM PST

    What do you think i should learn for mobile development and why ?

    submitted by /u/Many-Market7041
    [link] [comments]

    Is it necessary to learn linux before learning android? (since android is based off of linux)

    Posted: 28 Feb 2021 06:16 PM PST

    Android Skills

    Posted: 28 Feb 2021 01:12 PM PST

    What should i know to be a great Android developer?

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

    In app products pricing. $1 vs $10

    Posted: 28 Feb 2021 08:50 AM PST

    based on peoples experience here which can earn more money in terms of in app purchase? a cheaper in app products or much much more expensive one. lets say an in app product cost $1 vs the same in app product costing $10 which do you think will earn more? since $1 is cheaper more people will be able to afford it. can it outperform the $10?or going with the $10 is better and pray everyday that you can capture large number of whales users. any experience? cant experiment yet since my download is still so low.

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

    No comments:

    Post a Comment