Warung Bebas

Senin, 19 Desember 2011

Watch out for XmlPullParser.nextText()

Jesse Wilson

[This post is by Jesse Wilson from the Dalvik team. —Tim Bray]

Using XmlPullParser is an efficient and maintainable way to parse XML on Android. Historically Android has had two implementations of this interface:

The implementation from Xml.newPullParser() had a bug where calls to nextText() didn’t always advance to the END_TAG as the documentation promised it would. As a consequence, some apps may be working around the bug with extra calls to next() or nextTag():

    public void parseXml(Reader reader)
throws XmlPullParserException, IOException {
XmlPullParser parser = Xml.newPullParser();
parser.setInput(reader);

parser.nextTag();
parser.require(XmlPullParser.START_TAG, null, "menu");
while (parser.nextTag() == XmlPullParser.START_TAG) {
parser.require(XmlPullParser.START_TAG, null, "item");
String itemText = parser.nextText();
parser.nextTag(); // this call shouldn’t be necessary!
parser.require(XmlPullParser.END_TAG, null, "item");
System.out.println("menu option: " + itemText);
}
parser.require(XmlPullParser.END_TAG, null, "menu");
}

public static void main(String[] args) throws Exception {
new Menu().parseXml(new StringReader("<?xml version='1.0'?>"
+ "<menu>"
+ " <item>Waffles</item>"
+ " <item>Coffee</item>"
+ "</menu>"));
}

In Ice Cream Sandwich we changed Xml.newPullParser() to return a KxmlParser and deleted our ExpatPullParser class. This fixes the nextTag() bug. Unfortunately, apps that currently work around the bug may crash under Ice Cream Sandwich:

org.xmlpull.v1.XmlPullParserException: expected: END_TAG {null}item (position:START_TAG <item>@1:37 in java.io.StringReader@40442fa8) 
at org.kxml2.io.KXmlParser.require(KXmlParser.java:2046)
at com.publicobject.waffles.Menu.parseXml(Menu.java:25)
at com.publicobject.waffles.Menu.main(Menu.java:32)

The fix is to call nextTag() after a call to nextText() only if the current position is not an END_TAG:

  while (parser.nextTag() == XmlPullParser.START_TAG) {
parser.require(XmlPullParser.START_TAG, null, "item");
String itemText = parser.nextText();
if (parser.getEventType() != XmlPullParser.END_TAG) {
parser.nextTag();
}
parser.require(XmlPullParser.END_TAG, null, "item");
System.out.println("menu option: " + itemText);
}

The code above will parse XML correctly on all releases. If your application uses nextText() extensively, use this helper method in place of calls to nextText():

  private String safeNextText(XmlPullParser parser)
throws XmlPullParserException, IOException {
String result = parser.nextText();
if (parser.getEventType() != XmlPullParser.END_TAG) {
parser.nextTag();
}
return result;
}

Moving to a single XmlPullParser simplifies maintenance and allows us to spend more energy on improving system performance.

Sabtu, 17 Desember 2011

Konten RBT | Musik | Video | Game - I like it

RBT Ring Back Tone

Layanan RBT, Musik, Video merupakan beberapa dari banyak layanan konten yang ditawarkan di Indonesia. Seperti kita ketahui bahwa beberapa layanan ini memang sangat diminati oleh para pengguna telepon genggam. Terlebih lagi bagi para pelanggan RBT di seluruh Indonesia, sangat menghebohkan bagi saya, setelah saya googling ternyata jumlah pelanggan RBT di seluruh pelosok Negeri mencapai angka yang fantastis, yakni mencapai 25 juta lebih pengguna Ring Back Tone dan dipastikan akan terus bertambah. Tidak mustahil jumlah pengguna sebanyak itu, karena pengguna Ponsel di Indonesia sendiri berjumlah sekitar 125 juta orang lebih, karena berdasarkan data yang ada, ternyata nomor ponsel yang beredar dimasyarakat saat ini lebih dari 180 juta lebih. Woww, sungguh angka yang sangat besar bagi pengguna ponsel, data tersebut saya dapat dari situs www.tribunnews.com. Inilah yang menjadi pasar konten seperti RBT, Musik, Video dan lain-lain, dan semuanya merupakan hasil kreatifitas anak bangsa. Konten-konten ini merupakan konten yang di sediakan oleh para Provider atau Operator untuk para pengguna ponsel.


XL Roaming - Konten Game

Bukan hanya RBT saja yang menjadi primadona para pengguna ponsel, salah satu yang banyak diminati yakni Game. Banyak konten tentang game ini, bagi para pengguna ponsel, game ini bisa di dapatkan melalui registrasi di penyedia konten. Biasanya ada cara untuk registrasi dan mendapatkan game-game keren ini. Hebatnya lagi, sebagian besar game ini dibuat oleh anak Negeri juga, sungguh suatu kebanggaan bagi Indonesia. Semua konten-konten inilah yang telah memberikan kontribusi besar bagi provider dan pencipta, serta tidak ketinggalan bagi Negara Indonesia ini. Dan tidak ada yang dirugikan dalam hal ini, pencipta, provider dan pengguna sama-sama diuntungkan. Saya rasa dengan adanya konten-konten ini, maka perekonomian akan terus berjalan semestinya. Seperti yang saya bilang, tidak ada yang dirugikan dalam hal konten ini, semua diuntungkan. Bahkan si pencipta konten (musik, video, maupun game) ini akan tetap bisa berkarya dengan hasil yang didapatkan dari konten-konten tersebut. Tidak terkecuali bagi provider atau operator, melalui provider ini maka sampailah hasil karya anak bangsa ke para pengguna di seluruh Indonesia. Semua tidak ada yang dirugikan, seperti halnya simbiosis mutualisme, semua mendapat keuntungan.

XL Roaming
XL Roaming

Saya rasa ini cukup untuk terus melanjutkan karya-karya anak bangsa. Tanpa adanya Provider dan konten, maka semua tidak akan berjalan. Bayangkan jika konten-konten ini dilarang, maka para pencipta tidak akan dapat hasil dari apa yang diciptakannya. Secara umum sudah pasti ada tiga pihak yang dirugikan, yakni Pencipta konten, Provider, dan Pengguna. Jadi saya sangat menyambut positif konten-konten RBT, Musik, Video, Game, dan lain-lain ini. Karena berkat hasil dari konten-konten inilah anak bangsa bisa terus berkreatifitas dan berinovasi.



Majulah terus konten Indonesia

Jumat, 16 Desember 2011

Android 4.0.3 Platform and Updated SDK tools

Today we are announcing Android 4.0.3, an incremental release of the Android 4.0 (Ice Cream Sandwich) platform. The new release includes a variety of optimizations and bug fixes for phones and tablets, as well as a small number of new APIs for developers. The new API level is 15.

Some of the new APIs in Android 4.0.3 include:

Social stream API in Contacts provider: Applications that use social stream data such as status updates and check-ins can now sync that data with each of the user’s contacts, providing items in a stream along with photos for each. This new API lets apps show users what the people they know are doing or saying, in addition to their photos and contact information.

Calendar provider enhancements. Apps can now add color to events, for easier tracking, and new attendee types and states are now available.

New camera capabilities. Apps can now check and manage video stabilization and use QVGA resolution profiles where needed.

Accessibility refinements. Improved content access for screen readers and new status and error reporting for text-to-speech engines.

Incremental improvements in graphics, database, spell-checking, Bluetooth, and more.

For a complete overview of what’s new in the platform, see the Android 4.0.3 API Overview.

Going forward, we’ll be focusing our partners on Android 4.0.3 as the base version of Ice Cream Sandwich. The new platform will be rolling out to production phones and tablets in the weeks ahead, so we strongly encourage you to test your applications on Android 4.0.3 as soon as possible.

We would also like to remind developers that we recently released new version of the SDK Tools (r16) and of the Eclipse plug-in (ADT 16.0.1). We have also updated the NDK to r7.

Visit the Android Developers site for more information about Android 4.0.3 and other platform versions. To get started developing or testing on the new platform, you can download it into your SDK using the Android SDK Manager.

Kamis, 15 Desember 2011

Introducing Android Training

[This post is by Reto Meier, Android Developer Relations Tech Lead. — Tim Bray]

Today I’m thrilled to announce the beta launch of Android Training — a collection of classes that we hope will help you to build better Android apps.

From designing effective navigation, to managing audio playback, to optimizing battery life, these classes are designed to demonstrate best practices for solving common Android development problems.

Each class explains the steps required to solve a problem, or implement a feature, with plenty of code snippets and sample code for you to use within your own apps.

We’re starting small and this is just the beginning for Android Training. Over the coming months we will be increasing the number of classes available, as well as introducing over-arching courses and sample apps to further help your development experience.

Helping developers build great apps is what the Android Developer Relations team is all about, so we’re excited to see how you use these classes to make your apps even better.

We’d love to know what you think of these classes, and what classes you’d like to see next.

Rabu, 14 Desember 2011

Cara Menghilangkan Komedo dengan Cepat dan Aman

Cara menghilangkan komedo dengan Cepat dan Aman memang gampang-gampang susah. Semua orang tentunya ingin komedo yang ada diwajahnya hilang dengan cepat, aman, alami. Komedo memang sangat mengganggu kita dan komedo juga membuat kita tidak PeDe disaat bersama teman-teman kita. Sebenarnya apa itu komedo. Komedo adalah nama ilmiah dari pori-pori yang tersumbat. Komedo ada 2 macam yaitu blackhead dan whitehead, umumnya terjadi di wajah, terutama disekitar hidung kita. Ternyata komedo disebabkan oleh porisel-sel kulit mati dan minyak yang berlebihan pada wajah kita. Dan hal tersebutlah yang menyebabkan penyumbatan pori-pori. Nah, sekarang saya akan share tentang cara menghilangkan komedo dengan cepat, aman, dan alami.

Cara menghilangkan komedo
Cara menghilangkan komedo


Berikut ini cara menghilangkan komedo :
1. Menghilangkan komedo dengan campuran air jeruk nipis, minyak almond dan gliserin. Oleskan campuran tadi pada wajah selama beberapa menit. Cara ini tidak hanya untuk menghilangkan komedo, tetapi juga untuk menghilangkan noda hitam bekas jerawat diwajah.

2. Tempelkan kain basah hangat setiap malam kurang lebih selama 15 menit. Ini untuk melembabkan wajah, dan juga mengangkat sel-selkulit mati, kotoran serta partikel lainya yang menyumbat pori-pori.

3. Hangatkan sedikit madu lalu oleskan pada wajah. Biarkan selama kurang lebih 10 menit. Cara ini untuk melembabkan wajah serta mengangkat komedo.

4. Menggunakan putih telur. Ambil sedikit putih telur lalu taruh di wadah, kocok hingga berbusa. Oleskan pada wajah yang berkomedo, setelah itu tutup dengan  tisu. Biarkan sampai putih telur tersebut mengering, setelah kering lepaskan tisu secara perlahan. Nah, lihatlah tisu tersebut, akan terlihat bintik-bintik komedo yang terangkat.

5. Menggunakan produk modern, sekarang sudah ada produk-produk pembersih wajah, kamu bisa menghilangkan komedo dengan produk yang dijual dipasaran. Ini juga ampuh untuk menghilangkan komedo.

Nah, silahkan pilih salah satu cara diatas untuk menghilangkan komedo kamu. Perlu ketelatenan dan kesabaran untuk mendapatkan hasil yang terbaik. Saya juga sering menggunakan cara yang ke-5 untuk menghilangkan komedo saya. Karena selain ampuh juga praktis. Mungkin masih banyak lagi cara menghilangkan komedo dengan cepat dan aman, namun itu saja yang saya share dan silahkan dishare ke teman-teman. Ingat, perlu kesabaran untuk mendapatkan hasil maksimal. Jadi jika kamu optimis dan sabar, pasti hasilnya akan memuaskan. Sekian dulu dari saya, silahkan langsung mempraktekan cara menghilangkan komedo.

More Android Games that Play Nice

[This post is by Dan Galpin, who lives the Android Games lifestyle every day. — Tim Bray]

Making a game on Android is easy. Making a great game for a mobile, multitasking, often multi-core, multi-purpose system like Android is trickier. Even the best developers frequently make mistakes in the way they interact with the Android system and with other applications — mistakes that don’t affect the quality of gameplay, but which affect the quality of the user’s experience in other ways.

A truly great Android game knows how to play nice: how to fit seamlessly into the system of apps, services, and UI features that run on Android devices. In this multi-part series of posts, Android Developer Relations engineers who specialize in games explain what it takes to make your game play nice.

II: Navigation and Lifecycle

Android users get used to using the back key. We expect the volume keys to work in some intuitive fashion. We expect that the home key behaves in a manner consistent with the Android navigation paradigm. Sometimes we even expect the menu key to do something.

1. Problem: There’s no place like [Home]

I’m playing [insert favorite game here] and I accidentally hit the [Home] key or the [Back] key. This is probably happening because I’m furiously using the touchscreen to actually play the game. Whether I’ve been cutting ropes, controlling aircraft, cleaving fruit, or flinging birds, I’m almost certainly angry if I’ve suddenly lost all of my game progress.

What went wrong?

Lots of developers assume that pressing the Home key exits a game. Perhaps this is because on some mobile devices the Home key is a somewhat-difficult-to-press physical button. Depending on the device and Android release, it might be a physical, capacitive, or soft button. This means that it is relatively easy to hit accidentally. Having progress lost by such an event as an incoming call is even worse.

How to avoid Angry Users

  1. Save as much about the status of the game into the Bundle in onSaveInstanceState() as you can. This helper function will get called whenever your application receives an onPause() callback. Note that you can save byte arrays into that bundle, so it can easily be used for raw data.


  2. If your game takes lots of native system resources, consider dumping large textures (or all textures and geometry) during onPause() or onStop(). (GLSurfaceView will do this automatically unless you tell it not to — at least you can tell it not to do so starting in API level 11). This will help your title continue to reside in memory, which will typically speed task-switching back to your game for very large titles that might otherwise be swapped out of memory, but may slow things down for smaller titles that can more efficiently multitask if they don’t bother to do this.


  3. When your game resumes, restore the state from the bundle in onRestoreInstanceState(). If there is any sort of time-consuming loading that has to be done, make sure that you notify the user of what is happening to give them the best possible experience.



  4. Test thoroughly!

2. Problem: [Back] I say!

I’m in the middle of playing a game and I hit the back key. One of several bad things can happen here:

  1. The game exits immediately, losing all state and leading to Angry User Syndrome. (see Problem 1).


  2. The game does nothing.


What went wrong?

We already know what is wrong with scenario 1. It’s essentially a data loss scenario, and it’s worse than pigs stealing your eggs. What is wrong with scenario 2?

The [Back] key is an essential part of the Android navigation paradigm. If the back key doesn’t return to the previous screen in the activity stack (or in the game hierarchy) there better be a very good reason, such as an active document with no capability to save a draft.

What to do about it

If the user is in the middle of gameplay It is customary to display some sort of dialog asking the user if they intended the action:

“Are you sure you wish to exit now? That monster looks hungry.”

In an extreme action game, you might also wish to do something similar to what Replica Island (RI) did. RI assumed that any [Back] keypress that happened within 200ms of another touch event was invalid in order to make it a bit more challenging to accidentally press the key.

At the Main Menu of the game, you can decide whether it makes sense to prompt the user or not. If your game has very long load times, you might want to prompt the user.

3. Problem: Quiet [Down]!

There’s nothing worse than wanting to settle down for a good session of [insert favorite game here] in some sort of public place with your volume turned up. Suddenly everyone has learned that you prefer pummelling produce to predicting present progressions and that’s practically profane in your profession.

What went wrong?

By default, volume keys in most Android devices will control the ringer volume, and your application must pass the volume keys through to the super class so this continues to work.

What to do about it

In order to make these keys control the music volume (which is the channel that your game will be using), you need to call setVolumeControlStream(AudioManager.STREAM_MUSIC). As stated previously, all you need to do is pass these keys through to the framework and you’ll get control of the audio in the standard and proper way. Do it as early as possible so a user can start changing the volume far before you begin playing anything.

Senin, 12 Desember 2011

Add Voice Typing To Your IME

[This post is by Luca Zanolin, an Android engineer who works on voice typing. — Tim Bray]



A new feature available in Android 4.0 is voice typing: the difference for users is that the recognition results appear in the text box while they are still speaking. If you are an IME developer, you can easily integrate with voice typing.

To simplify the integration, if you download this library and modify your IME as described below, everything will work smoothly on any device with Android 2.2 or later. On 4.0+, users will get voice typing, and earlier versions will use standard voice recognition; the difference is illustrated below.

To see how to integrate voice typing you can take a look at this sample IME. The IME is really simple and contains only one button: a microphone. By pressing the microphone, the user triggers voice recognition.

Here are the steps that you need to follow to integrate voice recognition into your IME.

Download the library

Download this library and add it to your IME APK.

Create the voice recognition trigger

The library contains the VoiceRecognitionTrigger helper class. Create an instance of it inside the InputMethodService#onCreate method in your IME.

public void onCreate() {
super.onCreate();
...
mVoiceRecognitionTrigger = new VoiceRecognitionTrigger(this);
}

Add the microphone icon to your IME

You need to modify the UI of your IME, add a microphone icon, and register an OnClickListener to trigger voice recognition. You can find the assets inside the sample IME. The microphone icon should be displayed only if voice recognition is installed; use VoiceRecognitionTrigger#isInstalled().

public View onCreateInputView() {
LayoutInflater inflater = (LayoutInflater) getSystemService(
Service.LAYOUT_INFLATER_SERVICE);
mView = inflater.inflate(R.layout.ime, null);
...
mButton = (ImageButton) mView.findViewById(R.id.mic_button);
if (mVoiceRecognitionTrigger.isInstalled()) {
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mVoiceRecognitionTrigger.startVoiceRecognition();
}
});
mButton.setVisibility(View.VISIBLE);
} else {
mButton.setVisibility(View.GONE);
}
return mView;
}

If your IME supports multiple languages, you can specify in which language recognition should be done as a parameter of startVoiceRecognition().

Notify the trigger when your IME starts

When your IME starts, you need to notify the trigger, so it can insert into the text view any pending recognition results.

@Override
public void onStartInputView(EditorInfo info, boolean restarting) {
super.onStartInputView(info, restarting);
if (mVoiceRecognitionTrigger != null) {
mVoiceRecognitionTrigger.onStartInputView();
}
}

Modify your AndroidManifest

In order to start a voice recognition through the Intent API, the library uses a service and an activity, and you need to add them into your manifest.

<manifest ... >
<application ...>
...
<service android:name="com.google.android.voiceime.ServiceHelper" />
<activity
android:name="com.google.android.voiceime.ActivityHelper"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:excludeFromRecents="true"
android:windowSoftInputMode="stateAlwaysHidden"
android:finishOnTaskLaunch="true"
android:configChanges="keyboard|keyboardHidden|navigation
|orientation"/>
</application>
</manifest>

Update the microphone icon dynamically (optional)

This step is optional, but you should implement it if possible as it will improve the user experience. Voice recognition requires network access, and if there is no network, your IME should notify the user that voice recognition is currently disabled. To achieve this, you need to register the VoiceRecognitionTrigger.Listener and enable/disable the microphone accordingly.

The listener is registered in InputMethodService#onCreate, and you have to unregister it in InputMethodService#onDestroy, otherwise you will leak the listener.

@Override
public void onCreate() {
super.onCreate();
...
mVoiceRecognitionTrigger = new VoiceRecognitionTrigger(this);
mVoiceRecognitionTrigger.register(new VoiceRecognitionTrigger.Listener() {
@Override
public void onVoiceImeEnabledStatusChange() {
updateVoiceImeStatus();
}
});
}

...
@Override
public void onDestroy() {
...
if (mVoiceRecognitionTrigger != null) {
mVoiceRecognitionTrigger.unregister(this);
}
super.onDestroy();
}

private void updateVoiceImeStatus() {
if (mVoiceRecognitionTrigger.isInstalled()) {
mButton.setVisibility(View.VISIBLE);
if (mVoiceRecognitionTrigger.isEnabled()) {
mButton.setEnabled(true);
} else {
mButton.setEnabled(false);
}
} else {
mButton.setVisibility(View.GONE);
}
mView.invalidate();
}

And add this permission into your manifest:

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

That’s all there is to it

Voice recognition makes it easy for users to do more with their Android devices, so we appreciate your support in adding it to your IMEs.

Kamis, 08 Desember 2011

A Closer Look at 10 Billion Downloads



[This post is by Eric Chu, Android Developer Ecosystem. —Dirk Dougherty]



On Tuesday, we announced that Android Market passed 10 Billion app downloads. We wanted to look a little deeper at that huge number. First question: which app was lucky number 10 billion? Photobucket Mobile. They’ll be getting a great prize package, including tickets to next year’s Google I/O developer conference.



Remember we still have 8 days left to celebrate 10 billion downloads with 10-cent apps on Android Market. You can follow which apps are promoted each day on +Android, our Google+ page.



Here’s a graphical deep dive into 10 billion downloads...








Selasa, 06 Desember 2011

10 Billion Android Market Downloads and Counting



[This post is by Eric Chu, Android Developer Ecosystem. —Dirk Dougherty]





One billion is a pretty big number by any measurement. However, when it’s describing the speed at which something is growing, it’s simply amazing. This past weekend, thanks to Android users around the world, Android Market exceeded 10 billion app downloads—with a growth rate of one billion app downloads per month. We can’t wait to see where this accelerating growth takes us in 2012.





To celebrate this milestone, we partnered with some of the Android developers who contributed to this milestone to make a bunch of great Android apps available at an amazing price. Starting today for the next 10 days, we’ll have a new set of awesome apps available each day for only 10 cents each. Today, we are starting with Asphalt 6 HD, Color & Draw for Kids, Endomondo Sports Tracker Pro, Fieldrunners HD, Great Little War Game, Minecraft, Paper Camera, Sketchbook Mobile, Soundhound Infinity and Swiftkey X.



Of course, none of these apps would have existed if it weren’t for the developers who created them. Every day, these developers continue to push the limits on what’s possible and delight us in the process. For that, we thank them.



Please join us in this 10-day celebration and check in every day to see what new apps our developer partners are making available on Android Market—for only a dime.

Cara Memutihkan Kulit Ketiak Kita

Cara memutihkan kulit ketiak kita pada dasarnya sangat mudah dilakukan. Banyak cara untuk memutihkan kulit ketiak, seperti kita tahu bahwa kulit ketiak itu pada umumnya tidak seputih kulit tangan maupun wajah. Seringkali kita mencukur rambut ketiak dengan tujuan biar bersih, tapi malah akan menimbulkan bekas hitam dikulit. Nah, jangan kwatir dengan bekas hitam tersebut, kita bisa memutihkan kulit ketiak kita dengan berbagai cara kok. Saya akan memberikan cara memutihkan kulit ketiak yang saya baca dari berbagai sumber diinternet ini. Berikut ini cara memutihkan kulit ketiak.

Cara memutihkan kulit ketiak
Cara memutihkan kulit ketiak

Berikut ini cara memutihkan kulit ketiak yang mungkin bisa membatu sobat-sobat yang lagi berusaha memutihkan kulit :
1. Menggunakan campuran air kapur sirih dan jeruk nipis. Nah, setelah kedua bahan itu dicampurkan lalu oleskan campuran air kapur sirih dan jeruk nipis tadi pada ketiak setelah mandi. Biarkan campuran tadi sampai meresap dalam kulit ketiak. Untuk hasil yang memuaskan lakukan cara ini selama satu hingga dua minggu. Pada saat menggunakan cara ini, hindari pemakaian deodoran.

2. Memutihkan kulit ketiak dengan sari buah lemon. Nah, caranya yaitu peras sari buah lemon tersebut lalu campurkan dengan parutan mentimun. Usahakan hingga merata, kemudian bubuhkan campuran/adonan tadi pada kulit ketiak. Biarkan selama kurang lebih 20 menit lalu bilas dengan air dingin.

3. Menggunakan produk deodoran. Nah, kalau cara yang ini tidak perlu lagi dipertanyakan. Sekarang sudah banyak produk deodoran yang bisa digunakan untuk memutihkan kulit ketiak. Produk ini bisa dibeli ditoko terdekat anda, ingat tidak dijual terpisah, botol dengan tutup dijual satu paket ^_^.

Semua hal diatas perlu ketelatenan dan usaha untuk mendapatkan hasil yang maksimal. Kamu perlu perjuangan untuk mendapatkan kulit ketiak yang menawan, fresh, menggoda, dan indah. Cara memutihkan kulit ketiak diatas bisa kamu praktekin dirumah, jangan malu punya kulit ketiak yang hitam karena sekarang sudah ada baju lengan panjang. So, semoga bermanfaat dan mempunyai kulit ketiak yang putih dengan cara memutihkan kulit ketiak.

Sabtu, 03 Desember 2011

Cara Menghilangkan Jerawat Dengan Ampuh

Cara menghilangkan jerawat dengan ampuh sebenarnya gampang banget. Kita bisa menggunakan bahan-bahan disekitar kita dan tentunya mudah kita dapatkan. Jerawat memang menjadi salah satu penyebab kita kurang pede. Apalagi untuk remaja-remaja, jerawat bisa sangat membuat kita minder pastinya. Nah, kali ini saya akan berbagi cara menghilangkan jerawat yang saya baca di merahitam.com. Cara ini mungkin cocok untuk para remaja-remaja yang masih bersekolah, karena kita akan menggunakan bahan-bahan yang ada disekitar kita. Jadi tidak perlu mengeluarkan duit banyak untuk menghilangkan jerawat ini. Tanpa basa-basi, langsung saja saya kasih cara menghilangkan jerawat dengan ampuh ini.

Cara menghilangkan jerawat
Cara menghilangkan jerawat

Berikut ini cara menghilangkan jerawat dengan ampuh :
1. Menghilangkan jerawat dengan bawang putih.
Kusus untuk menghilangkan jerawat dengan bawang putih ini, ada dua pilihan.
Yang pertama dengan cara menumbuk bawang putih hingga cukup halus untuk kemudian kita oleskan ke wajah yang berjerawat. Diamkan kurang lebih selama 10 menit, lalu bilas hingga bersih.
Yang kedua adalah dengan cara memakan bawang putih satu atau lebih bawang putih setiap hari. Saya yakin untuk cara yang kedua ini kalian pasti tidak suka, karena bau  dan rasa dari bawang putih sangat-sangat tidak enak.

2. Menghilangkan jerawat dengan lidah buaya.
Ambil satu daun lidah buaya, lalu potonglah menjadi beberapa bagian dan kelupas kulit luarnya. Oleskan dibagian jerawat, lakukan cara ini setiap pagi dan sore hari. Jika kamu telaten, kemungkinan jerawat ini akan mengelupas setelah 3 hari.

3. Menghilangkan jerawat dengan buah tomat.
Buah tomat ternyata cukup efektif untuk menghilangkan komedo hitam (blackhead). Caranya, irislah tomat menjadi dua bagian dan oleskan kebagian jerawat, biarkan selama 15 menit - 1 jam kemudian bilas bersih.

4. Menghilangkan jerawat dengan lemon/jeruk nipis + air mawar.
Caranya yaitu dengan mencampurkan jus/perasan dengan air mawar lalu oleskan kewajah selama 10-15 menit. Setelah itu bilas wajah dengan air hangat, bila ini dilakukan secara rutin kurang lebih selama 15 hari, maka ini akan memberikan hasil yang memuaskan.

5. Menghilangkan jerawat dengan putih telur.
Nah, caranya yaitu pisahkan kuning telur dengan putih telur lalu ambil putih telurnya saja. Kocok sebentar lalu oleskan ke wajah, diamkan sekitar 15 menit saja.

Nah, silahkan memilih salah satu cara diatas untuk menghilangkan jerawat yang lagi bersarang diwajahmu. Namun jangan mengharapkan hasil yang maksimal jika kamu tidak konsisten dan tidak teratur. Lakukan salah satu cara menghilangkan jerawat diatas secara konsisten dan teratur untuk mendapatkan hasil yang maksimal. Semoga cara-cara diatas bermanfaat bagi kalian semua, jangan lupa untuk membagikan keteman-teman tentang cara menghilangkan jerawat.
 

Android OS Copyright © 2012 Fast Loading -- Powered by Blogger