Geekzone: technology news, blogs, forums
Guest
Welcome Guest.
You haven't logged in yet. If you don't have an account you can register now.


Yabanize

2351 posts

Uber Geek
+1 received by user: 583


#143926 1-May-2014 18:52
Send private message

Hi, Im trying to make a basic app

I was reading this about how to make a settings page for an app http://developer.android.com/guide/topics/ui/settings.html and according to this 

 

     

  • If your app supports versions of Android older than 3.0 (API level 10 and lower), you must build the activity as an extension of the PreferenceActivity class.
  • On Android 3.0 and later, you should instead use a traditional Activity that hosts a PreferenceFragmentthat displays your app settings. However, you can also use PreferenceActivity to create a two-pane layout for large screens when you have multiple groups of settings.
So this means if I want my app to support 2.2 and 2.3 (as alot of devices still have) I need to use the PreferenceActivity class, And if I do will my app still be compatible with 4.0, 4.1, 4.2, 4.3 and 4.4?

Ive tried doing this and have had a bit of trouble :/

Create new topic
networkn
Networkn
32862 posts

Uber Geek
+1 received by user: 15453

ID Verified
Trusted
Lifetime subscriber

  #1035080 1-May-2014 19:28
Send private message

At least 50% of developers have hair I'd wager :) 




TwoSeven
1712 posts

Uber Geek
+1 received by user: 304

Subscriber

  #1035127 1-May-2014 20:41
Send private message

Its basically saying that they prefer you to do it the new one on Android three and later, but it is not mandatory.

While I am not an Android developer,   use a Façade pattern to give yourself a common interface, underneath the façade, use a Factory method to return the correct  object.  You'll need to create an object that implements the PreferenceActivity (which as far as I make out is the Deprecated version) and an object that implements the PreferenceFragment (which I think is the new way).  - basically, this is a form of run time binding depending on platform version.


    So in your factory method you detect the version and implement the correct one.  However, looking at PreferenceFragment I can't see why that is not backward compatible, if it is, then you can simplify the above.




Software Engineer
   (the practice of real science, engineering and management)
A.I.  (Automation rebranded)
Gender Neutral
   (a person who believes in equality and who does not believe in/use stereotypes. Examples such as gender, binary, nonbinary, male/female etc.)

 

 ...they/their/them...


Create new topic








Geekzone Live »

Try automatic live updates from Geekzone directly in your browser, without refreshing the page, with Geekzone Live now.



Are you subscribed to our RSS feed? You can download the latest headlines and summaries from our stories directly to your computer or smartphone by using a feed reader.