LightBlog

lundi 19 décembre 2016

Best Boost Mobile phones (December 2016)

If you're looking to move to a prepaid carrier in the United States, you have a ton of options. One of the best quality prepaid carriers out there is Boost Mobile, powered by Sprint. We've already taken a look at the best phones you can buy on Verizon, AT&T, Sprint and T-Mobile, and now it's Boost Mobile's turn. This prepaid carrier has a wide selection of premium devices, and to be honest, it can get a little confusing at times. So, we're here to help you make that decision.

Related: Best Sprint Android phones

Many of the best options from Boost Mobile are pretty pricey when buying directly through the carrier. Keep in mind that these are all off-contract prices. You'll likely be able to find them a bit cheaper on Amazon. Without any more hesitation, let's get started!

Editor's note – We will be updating this list as more devices hit the market.
Update, December 2016: This month we removed the ZTE Warp Elite to make room for the LG X power.
See also:

The best prepaid and no contract plans in the US

2 weeks ago

Samsung Galaxy S7

Samsung did a killer job with their 2015 flagship smartphones, the Galaxy S6 and S6 Edge. Design-wise, many would say those two phones were close to perfect. The company forwent a plastic design and instead included glass front and back panels with an aluminum frame. They weren't without their flaws, though. The S6 and S6 Edge didn't offer expandable storage or removable batteries — two features Samsung has been known to include in all its smartphones for years.

Now the Galaxy S7  has made its way to the masses, and it fixes many of the problems the S6 line introduced last year. While it doesn't offer a removable battery, Samsung included expandable storage on the handset in case the 32GB of on-board storage isn't enough. Samsung mostly stuck to the same design this time around, though they did shrink down the camera bump on the back and made the device a little thicker to make room for larger battery.

In terms of specs, this is a top-of-the-line smartphone. It comes with a Quad HD Super AMOLED display, a Qualcomm Snapdragon 820 processor, 4GB of RAM, a great 12MP rear-facing camera and it runs the latest version of Android. Seriously, this is an incredible smartphone. It's a little pricey, but all in all, we think the high asking price is worth it.

Specs

  • 5.1-inch Super AMOLED display with 2560 x 1440 resolution, 577ppi
  • Quad-core Qualcomm Snapdragon 820 processor
  • 4GB of RAM
  • 32GB of on-board storage, microSD expansion up to 200GB
  • 12MP rear camera, 5MP front camera
  • Non-removable 3000mAh battery
  • Android 6.0.1 Marshmallow
  • 142.4 x 69.6 x 7.9mm, 152g

Read more

Buy now from Boost Mobile

Samsung Galaxy J7

The Galaxy J7 packs a 5.5-inch 720p Super AMOLED display, a Snapdragon 615 processor, 2 GB of RAM, 16 GB of on-board storage, a 13 megapixel rear camera, and a 5 megapixel front-facing camera (complete with LED flash). It ships a removable 3000 mAh battery and Android 6.0 Marshmallow already pre-installed. 

It should be noted, however, that this is not the Galaxy J7 2016 model that have been mentioned in recent months, but the original 2015 model.

Specs

  • 5.5-inch Super AMOLED display with 720 x 1280 resolution, 267ppi
  • Qualcomm Snapdragon 615 processor
  • 2GB of RAM
  • 16GB of on-board storage, microSD expansion up to 128GB
  • 13MP rear camera, 5MP front camera
  • Removable 3000mAh battery
  • Android 6.0 Marshmallow
  • 152.2 x 78.7 x 7.5mm, 171g

Read more

Buy now from Boost Mobile

LG Stylo 2

lg-stylo-2-840x840

The LG Stylo 2 is perfect for all your media consumption needs. It sports a big 5.7-inch 720p display, a powerful Snapdragon 410 processor, 16 GB of on-board storage and microSD expansion for your music and videos. It also comes with a pretty sizable 3000 mAh battery and an included stylus that gives the product its namesake. If you're looking for an unlocked phone on a budget, this device might be hard to pass up.

Specs

  • 5.7-inch IPS LCD display with 1280 x 720 resolution, 257ppi
  • 1.2 GHz quad-core Qualcomm Snapdragon 410 processor
  • 2GB of RAM
  • 16GB of on-board storage, microSD expansion up to 128GB
  • 13 MP rear camera, 5 MP front camera
  • Removable 3000mAh battery
  • Android 6.0 Marshmallow
  • 155 x 80 x 7.4mm, 145g

Read more

Buy now from Boost Mobile

LG X power

Looking for an Android smartphone under $100 that will last more than one day on a single charge? LG's X power might be just the thing for you.

On the surface, the X power is just a standard mid-range device. It has a 5.3-inch Full HD display, 2GB of RAM, microSD expansion, an 8MP rear camera and a 5MP front camera. The biggest selling point here is the non-removable 4,100mAh battery. That's pretty big for a device that's just 5.3 inches. For comparison, devices like the S7 Active or Mate 8 feature similar batteries in larger bodies.

Specs

  • 5.3-inch IPS LCD display with 1280 x 720 resolution, 277ppi
  • 1.8GHz octa-core Mediatek MT6755M processor
  • 2GB of RAM
  • 16GB of on-board storage, microSD expansion up to 256GB
  • 8MP rear camera, 5MP front camera
  • Non-removable 4,100mAh battery
  • Android 6.0 Marshmallow
  • 148.9 x 74.9 x 7.9mm, 139g

Read more

Buy now from Boost Mobile

How do like our list? Is there any device you'd add or remove? Let us know your opinions in the comments!

Next:

Best cheap Android phones (April 2016)

4 weeks ago


from Android Authority http://ift.tt/14PYxTq
via IFTTT

No money for the bus ticket? No problem, just watch some videos on your phone

A German startup has released an interesting app called WelectGO that allows people in Düsseldorf to get a free bus or train ticket. But to get the free ticket, you have to watch four promotional videos within the app, with each being approximately 20 seconds long.

Here's how it works. You download the app onto your device, select the ticket you want, choose four promotional videos among the ones available, and watch the videos. After you're done, you'll get the free ticket that you can use on the route you've selected in the app. Easy, right?

Philipp Dommers, the company's co-founder, said he was expecting that around 1,000 people would use the app and get a free bus/train ticket — which normally costs €2.60/$2.70 — by the end of the year. To his surprise, the initial expectations were greatly exceeded, as more than 20,000 people have already used the app and received a free ticket.

See also:

5 Android apps you shouldn't miss this week! – Android Apps Weekly

1 day ago

The biggest challenge facing the company now is getting enough advertisers on board so that it will be able to keep up with the massive demand. Each advertiser can choose how many times it wants its ad to show to each individual, so if someone is a frequent user of the app, he or she might not be eligible for a free ticket if there aren't enough promotional videos available.

Based on the high demand, WelectGO is clearly a hit among commuters. The company is already planning to expand its operations to other German cities as well as other countries, with the Netherlands being first on the list.

What do you think about the WelectGO app? Would you use it if it was available in your city?



from Android Authority http://ift.tt/2hA7sCv
via IFTTT

LG G Pad III 10.1 tablet announced with Full HD display, LTE and kickstand

This article originally appeared on our sister side, TabTimes

LG has announced the LG G Pad III 10.1 tablet in South Korea. The new tablet comes with a 10.1-inch, 16:10, Full HD display (1920 x 1200) and will go on sale for 429 Korean Won, the equivalent of around $360.

The LG Pad III runs on Android 6.0.1 Marshmallow and also arrives with a kickstand, allowing the tablet to be used at a 70-degree angle. Further, the G Pad III 10.1 features LG's "time square" software which allows the tablet to be used as a clock, photo frame, or calendar when positioned upright.

The device is backed by an unspecified octa-core processor running at 1.5 GHz, and features 5 MP front and rear cameras and support for LTE data.

See also:

Samsung reportedly considering LG batteries for Galaxy Note 8

32 minutes ago

Here are the key specs:

Size: 256.2 x 167.9 x 6.7 to 7.9 mm
Weight: 510 g
Network: LTE, Wi-Fi 802.11 a / b / g / n / ac
Processor: Octa-core 1.5 GHz
Display: 10.1-inch Full HD IPS (1920 x 1200)
Camera: 5 MP (rear) / 5 MP (front)
Battery: 6,000 mAh, USB Type-C
Memory: 2 GB RAM, 32GB ROM, Micro SD card slot (up to 2 TB)
OS: Android 6.0.1 Connectivity
Bluetooth: 4.2, GPS,
Extras: Kick Stand, Time Square UX, Monitor Mode

The LG G Pad III 10.1 is now available in South Korea but LG hasn't announced availability details outside of its home nation. LG did reveal, however, that a stylus version of the device would follow sometime next year.



from Android Authority http://ift.tt/2hZSFCa
via IFTTT

Samsung reportedly considering LG batteries for Galaxy Note 8

According to The Korea Herald, Samsung is considering using LG Chem batteries on top of existing suppliers for next year's Galaxy Note.

See also:

Samsung might launch the Galaxy S8 in April after MWC 2017

2 hours ago

It's being reported that the South Korean electronics giant is in the talks with its archenemy about potentially having LG Chem supply its batteries in the future, starting with the Galaxy Note 8. Although it's easy to assume that this is due to the recent Galaxy Note 7 debacle or some battery issue associated with Samsung's suppliers, the likelihood of that is pretty low, in my opinion.

Currently, the company gets its batteries from its own division, Samsung SDI, and a Chinese company called ATL. Now, a majority of Galaxy Note 7 units initially used Samsung's own batteries, and at first, Samsung suspected that these batteries were faulty. The company then replaced those with ATL-produced ones; however, battery explosions continued, meaning instead of batteries themselves, it's more likely Samsung's overly ambitious design and hardware that caused too much pressure on the phone's battery, making it explode.

The reported plans to add LG Chem as one of its battery suppliers aren't exactly to replace Samsung SDI or ATL.

This means that as a whole, the reported plans to add LG Chem as one of its battery suppliers aren't exactly to replace Samsung SDI or ATL. Rather, my guess is that if the report is indeed true, it's out of a financial reason or due to the company's expected production scale. One anonymous claims that the deal is likely to happen:

The talks have not yet been completed but it seems highly likely for the two firms to sign a deal.

Whatever the case may be, The Korea Herald purports that these LG-supplied batteries won't be found in Samsung devices until next year's Note model. That means it's unlikely that we will find them in the Galaxy S8. With rumors indicating that Samsung may be using LG Chem's batteries – and probably in large quantities if it does solidify – the latter's shares increased over 3 percent to around $220.

Do you care which battery supplier Samsung uses? Are you still a loyal Note user? Let us know by leaving a comment below!



from Android Authority http://ift.tt/2hR0vL3
via IFTTT

Working with WebView: displaying web content inside your Android app

When it comes to displaying content inside your Android apps, you're spoilt for choice, as the Android platform supports a wide range of content – including content pulled straight from external web pages.

There's many reasons why you might want to display web content inside your latest Android project. Maybe you need to display some complicated data from an external website – instead of going to all that effort of retrieving, processing and then formatting this data, you may decide that it's easier to simply embed the web page itself in your application's layout.

Or, maybe you have content that requires frequent updates, such as your company blog, your app's user manual, or your terms and conditions. If you hard-code this content into your app, then the only way you can update it is by releasing a new version of that app. However, if you host this content online and then display the hosted version inside your app, then you're free to update this content whenever you want and those changes will appear in your app automatically.

In this tutorial I'll show you exactly how to embed web content in your Android applications, using WebViews. I'll also be sharing tips on how to improve the user experience, by enhancing the standard WebView component with some of the features you'd expect from a stand-alone web browser.

And, since designing for different screen configurations is always a big part of Android development, we'll also be looking at ways to ensure the content you're displaying inside your WebViews looks good and functions correctly across the full range of Android devices.

Easily add a WebView anywhere in your layout

The WebView component acts like any other Android View, so you can embed it anywhere in your app's layout. Start by opening the layout resource file where you want to display your WebView, and then add the following:

  <?xml version="1.0" encoding="utf-8"?>  <WebView  xmlns:android="http://ift.tt/nIICcg"    android:id="@+id/webview"    android:layout_width="fill_parent"    android:layout_height="fill_parent" />  

You'll also find a WebView component in Android Studio's palette.

Then, in the XML file's corresponding Activity, you'll need to obtain a reference to your WebView and specify the URL you want it to display:

  //Import the WebView and WebViewClient classes//  import android.webkit.WebView;  import android.webkit.WebViewClient;    public class MainActivity extends Activity {      @Override      protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);    //Get a reference to your WebView//     WebView webView = (WebView) findViewById(R.id.webview);    //Specify the URL you want to display//       webView.loadUrl("http://example.com");      }   }  

Alternatively, you can transform your entire Activity into a WebView, by adding the following to that Activity's onCreate method:

  WebView webview = new WebView(this);    setContentView(webview);  

If your app is going to be able to load content from an external website, then it needs permission to access the Internet, so open your project's Manifest and add the following:

  <manifest ... >     <uses-permission android:name="android.permission.INTERNET" />     ...  </manifest>  

This is all you need to create a basic WebView, so at this point you can install your project on either your physical Android device or a compatible AVD, and see your WebView in action.

Enhancing your WebView

Sometimes, the standard WebView component may be sufficient, particularly if you're only using it to display a single page of web content. However, it's always a good idea to consider whether there's any way you can enhance Android's out-of-the-box WebView.

In this section, I'm going to look at some of the tweaks and extra features you may want to add to your WebViews, and how they can help you deliver a better overall user experience.

Adding web browser features: Web history

When the user can navigate between multiples pages in the same WebView, that WebView maintains a history of all the pages the user has visited, just like a regular web browser. However, if the user wants to navigate back to any of these previous pages, then there's a problem –  by default pressing the 'Back' button on an Android device will always return the user to the previous Activity.

If you think your users might appreciate being able to navigate back through their WebView history, then you can override this default behavior, using the canGoBack method:

  public class MainActivity extends Activity {      private WebView webView = null;     @Override      protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.activity_main);          this.webView = (WebView) findViewById(R.id.webview);          WebSettings webSettings = webView.getSettings();          webSettings.setJavaScriptEnabled(true);          WebViewClientImpl webViewClient = new WebViewClientImpl(this);          webView.setWebViewClient(webViewClient);          webView.loadUrl("http://example.com");      }    //Check whether there's any WebView history that the user can navigate back to//    @Override    public boolean onKeyDown(final int keyCode, final KeyEvent event) {       if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) {        myWebView.goBack();  //If there is history, then the canGoBack method will return 'true'//         return true;     }    //If the button that's been pressed wasn't the 'Back' button, or there's currently no  //WebView history, then the system should resort to its default behavior and return  //the user to the previous Activity//    return super.onKeyDown(keyCode, event);  }  

If you allow the user to navigate backwards through their web history, then they might also appreciate being able to move forwards through their WebView history. You implement this behavior using the canGoForward method.

Handling page navigation

By default, whenever the user clicks a hyperlink within a WebView, the system will respond by launching the user's preferred web browser app and then loading the URL inside this browser. While this is usually the preferred behaviour for links to web pages that you don't own, there may be certain links that you do want to load inside your WebView. For example, if you're using a WebView to display your app's user manual, then you probably don't want to launch an external web browser as soon as the user tries to move to Page 2 of that manual.

If there's specific URLs that you want your application to handle internally, then you'll need to create a subclass of WebViewClient and then use the shouldOverrideUrlLoading method to check whether the user has clicked a "whitelisted" URL.

Let's look at an example of this in action:

  //Create a class that extends WebViewClient//    private class MyWebViewClient extends WebViewClient {            @Override  //Implement shouldOverrideUrlLoading//         public boolean shouldOverrideUrlLoading(WebView view, String url) {    //Check whether the URL contains a whitelisted domain. In this example, we're checking  //whether the URL contains the "example.com" string//             if(Uri.parse(url).getHost().endsWith("example.com")) {    //If the URL does contain the "example.com" string, then the shouldOverrideUrlLoading method  //will return 'false" and the URL will be loaded inside your WebView//                 return false;              }    //If the URL doesn't contain this string, then it'll return "true." At this point, we'll  //launch the user's preferred browser, by firing off an Intent//            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));            view.getContext().startActivity(intent);              return true;          }      }  

The final step is telling your WebView to use this custom WebViewClient, by adding the following code snippet:

  WebViewClientImpl webViewClient = new WebViewClientImpl(this);  webView.setWebViewClient(webViewClient);  

Prevent your WebView from being destroyed

By default, every time the device's orientation changes, the system will destroy the current Activity and then recreate it for the new orientation. If this Activity just-so-happens to contain your WebView then this also gets destroyed, which will cause the WebView to reload the current page. If the user has navigated between multiple pages within this WebView, then their browsing history will also be lost.

Most of the time this shouldn't be a huge problem, but occasionally this behavior may have a negative impact on the user experience – maybe the WebView was displaying a web page that's particularly time-consuming to load, or maybe you anticipate that your users will rely on being able to move back through their WebView history. If this is the case, then you can prevent the system from destroying and recreating an Activity (and by extension your WebView), by declaring that your Activity will handle the orientation configuration change manually.

However, handing this change manually does come with a pretty big drawback: if you've provided alternate resources that are optimized for different screen orientations, such as alternate images and layouts, then the Android system will no longer switch between these resources automatically when the device's orientation changes – re-assigning these resources becomes your responsibility.

If you've weighed up the pros and cons and have decided that preventing your WebView from being destroyed is worth this extra work, then open your project's Manifest and add a android:configChanges attribute to the Activity in question.

You can then use this attribute to specify what configuration changes your Activity will handle manually – when it comes to WebViews, we're concerned with the following:

  • Orientation. The device has moved from portrait to landscape mode, or vice versa.

  • screenSize. In Android 3.2 and higher, an orientation change is also classed as a screen size change, as the amount of horizontal screen space and vertical screen space have essentially switched values.

Our finished android:configChanges attribute looks like this:

  android:configChanges="orientation|screenSize"  

Now, instead of being destroyed this Activity will receive a call to onConfigurationChanged whenever the device moves between portrait and landscape mode. This Activity will then be passed a Configuration object containing the device's updated configuration information. You'll need to acquire this object and then use its fields to determine what changes you need to make to your app's UI.

You acquire the Configuration object, using the getConfiguration method:

  Configuration config = getResources().getConfiguration();  

Note that onConfigurationChanged is only called for the configuration changes you specify in your Manifest, via android:configChange. If any other configuration change occurs, then the system will resort to its default behaviour, and will automatically re-assign any resources that have been affected by this change.

Enabling JavaScript

WebViews don't allow JavaScript by default. If you want to display a web page that uses JavaScript, then you'll need to enable JavaScript execution by adding the following to your Activity's onCreate method:

  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  WebView webView = (WebView) findViewById(R.id.webview);    //Obtain the WebSettings object//     WebSettings webSettings = webView.getSettings();    //Call setJavaScriptEnabled(true)//     webSettings.setJavaScriptEnabled(true);  

If you've designed web content specifically to display in an Android WebView, then once you've enabled JavaScript execution you may also want to create an interface between your JavaScript and Android code, using addJavascriptInterface. If you do include this method in your app, then just be aware that when your app is installed on Jelly Bean or earlier, people may be able to use addJavascriptInterface to execute code within your app. If you do decide to use addJavascriptInterface in your project, then you should only call it when your app is running on Ice Cream Sandwich or higher.

Designing web content for Android

So, you've implemented a basic WebView and know how to enhance your WebViews with additional behavior and functionality, but if your app is going to provide the best possible user experience then you need to make sure the content being displayed inside those WebViews is optimized for the mobile environment.

While designing web content that can adapt across multiple devices should always be a top priority when you're creating any web content, designing content for Android WebViews is particularly challenging as the Android platform spans such a huge range of screen configurations.

In this section, I'm going to cover a couple of techniques that can help ensure the web content you're developing will look good and function correctly inside your Android WebViews.

Using Viewport properties

The Viewport is the rectangular area where the system displays your web page. The size of the Viewport will naturally vary depending on the current screen, but you can set some rules about how the Viewport will render your web content, using Viewport properties.

One particularly useful Viewport property, is content="width=device-width" which specifies that the web page should be scaled to exactly match the width of the current screen. Adding this property to your web page's <head> will ensure users can view your web content without having to scroll horizontally – this is particularly important on Android devices, because when was the last time you encountered an Android app that scrolls horizontally?

Scrolling horizontally on the smaller screen of an Android smartphone or tablet feels awkward and unnatural, plus horizontally-scrolling Android apps are so unusual that unless it's immediately obvious that the user can access more content by scrolling left or right, then they're unlikely to even attempt to scroll your app in this way.

You use "width=device-width," plus other Viewport properties by adding them to your web page's <head> section, for example:

  <head>  <meta name="viewport" content="width=device-width">  </head>  

To make sure the user can view your content comfortably on the limited horizontal space of your typical Android smartphone or tablet, you may also want to use the window.devicePixelRatio DOM property to check the current device's screen density, and CSS media queries to adapt your web content based on the current screen.

Increasing touchable targets

Touch is the primary method of interacting with Android smartphones and tablets, so you'll need to make sure that your users can easily interact with all your WebView's content and actions using touch alone.

This may mean increasing the size of your content's touchable targets, for example although it's pretty standard practice to display hyperlinks at the same size as the surrounding text on the desktop environment, many users will struggle to hit this kind of small, specific target on the smaller screen of an Android device.

Also, if your content features multiple touchable targets in close proximity to one another, then you may want to move them further apart to make sure your Android users don't hit the wrong target by accident.

Test everything!

No matter how many tricks and techniques you use to help ensure your web content always renders at an appropriate size and density for the current screen, ultimately there's no substitute for testing your app.

If the user can view all ten pages of your app's user manual within a WebView, then you'll need to thoroughly test all ten pages of your user manual across a range of screen configurations.

Time-consuming and frustrating it may be, but your users will thank you in the long run!

Wrap Up

In this article we looked at how to quickly and easily insert web content into your applications, using WebViews, and touched on how to design web content that's optimized for the mobile environment. Let us know in the comments if you plan on using WebViews in your latest Android app!



from Android Authority http://ift.tt/2hLZG9b
via IFTTT