Saturday, December 31, 2016

My app stopped working after upgrading my studio

So my app which was working fine a few days ago stopped working today

I figured out the reason was  - I had upgraded my phone and android studio during the days. If you are targetting sdk version 23 It will not show which permissions are required at the time of installation. And permissions had to be checked at run time if not available then you should write code to ask for permission.

If you don't want to do implement the new system yet then you can reduce your target sdk version to 22 to get the old permission system. You can still compile with sdk version 23 though.
See the documentation for more information.
I changed build.gradle (module app) settings to target sdk version from 23 to 22
And the app mentions the permission at the time of installation and runs file.
Let me know if this helped. you. Happy coding! :)

Tuesday, December 13, 2016

Why do our jeans have little pockets?

Why does this little pocket exist?

It is too small to hold change, in fact difficult to get out coins if you put coins in it. Then why?

It is a remnant of the times when jeans were created. Back in the 1800s, cowboys used to wear their watches on chains and kept them in their waistcosts. To keep them from getting broken, Levis introduced this small pocket where they could keep their watch.


So the cowboy would pull out the watch through the chain. What's the good time, Sir?
And we thought cowboys only pulled out guns. :P



Sunday, December 11, 2016

Twitter account got hacked

हम फ़कीर नहीं हैं कि झोला लेकर चल देंगे !!
मेरे हमसफ़र दोस्तों….
किसी को मेरे ईमेल और फोन में क्या दिलचस्पी हो सकती है वो हैक करने की योजना बनाएगा। शनिवार की मध्यरात्रि मेरी वरिष्ठ सहयोगी बरखा दत्त का ईमेल हैक कर लिया गया। उनका ट्वीटर अकाउंट भी हैक हुआ। उसके कुछ देर बाद मेरा ट्वीटर अकाउंट हैक कर लिया गया। उससे अनाप शनाप बातें लिखीं गईं। जब मैंने एक साल से ट्वीट करना बंद कर दिया है तब भी उसका इतना ख़ौफ़ है कि कुछ उत्पाति नियमित रूप से गालियां देते रहते हैं। ये सब करने में काफी मेहनत लगती है। एक पूरा ढांचा खड़ा किया जाता होगा जिसके अपने ख़र्चे भी होते होंगे। ढाई साल की इनकी मेहनत बेकार गई है मगर उस डर का क्या करें जो मेरा नाम सुनते ही इनके दिलों दिमाग़ में कंपकपी पैदा कर देता है। ज़रूर कोई बड़ा आदमी कांपता होगा फिर वो किसी किराये के आदमी को कहता होगा कि देखता नहीं मैं कांप रहा हूं। जल्दी जाकर उसके ट्वीटर हैंडल पर गाली दो। दोस्तों, जो अकाउंट हैक हुआ है उस पर मेरा लिखा तो कम है, उन्हीं की बदज़ुबान और बदख़्याल बातें वहां हैं। मैं चाहता हूं कि वे मुझसे न डरें बल्कि मेरा लिखा हुआ पढ़ें।
मेरी निजता भंग हुई है। मेरा भी ईमेल हैक हुआ है। बरखा दत्त की भी निजता भंग हुई है। मैं सिर्फ रवीश कुमार नहीं हूं। एक पत्रकार भी हूं। कोई हमारे ईमेल में दिलचस्पी क्यों ले रहा है। क्या हमें डराने के लिए? आप बिल्कुल ग़लत समझ रहे हैं। ये आपको याद दिलाया जा रहा है कि जब हम इन लोगों के साथ ऐसा कर सकते हैं तो आपके साथ क्या करेंगे याद रखना। पत्रकारों को जो भी ताकतें डराती हैं दरअसल वो जनता को डराती हैं। अगर हमारी निजता और स्वतंत्रता का सवाल आपके लिए महत्वपूर्ण नहीं है तो याद रखियेगा एक दिन आपकी भी बारी आने वाली है। जिस लोकतंत्र में डर बैठ जाए या डरने को व्यापक मंज़ूरी मिलने लगे वो एक दिन ढह जाएगा। आपका फर्ज़ बनता है कि इसके ख़िलाफ़ बोलिये। डरपोकों की बारात बन गई है जो किसी मुख्यालयों के पीछे के कमरे में बैठकर ये सब काम करते हैं। अभी तो पता नहीं है कि किसकी हरकत है। जब राहुल गांधी के बारे में ठोस रूप से पता नहीं चल सका तो हम लोगों को कौन पूछ रहा है। आख़िर वो कौन लोग हैं, उन्हें किसका समर्थन प्राप्त है जो लगातार हमारे ट्वीटर अकाउंट पर आकर गालियां बकते हैं। अफवाहें फैलाते हैं। आपको बिल्कुल पता करना चाहिए कि क्या यह काम कोई राजनीतिक पार्टी करती है। ऐसा काम करने वाले क्या किसी राजनीतिक दल के समर्थक हैं। पता कीजिए वर्ना आपका ही पता नहीं चलेगा।
आप सोचिये कि आपका पासवर्ड कोई चुरा ले। आपके ईमेल में जाकर ताक झांक करे तो क्या आपको ठीक लगेगा। क्या आप ऐसी साइबर और राजनीतिक संस्कृति चाहेंगे? आपका जवाब हां में होगा तो एक दिन आपके साथ भी यही होगा। हैकरों ने बता दिया है कि भारत साइबर सुरक्षा के मामले में कमज़ोर है। हैकिंग पूरी दुनिया में होती है लेकिन यहां की पुलिस भी इसके तार को जोड़ने में अक्षम रहती है। साइबर सुरक्षा के नाम पर अभी तक दो चार चिरकुट किस्म के नेताओं के ख़िलाफ़ लिखने वालों को ही पकड़ सकी है। वो नेता चिरकुट ही होता है जो अपने ख़िलाफ़ लिखी गई बातों के लिए किसी को अरेस्ट कराता है या अरेस्ट करने की संस्कृति को मौन सहमति देता है। जब हम लोगों के अकाउंट हैक किये जा सकते है तो ज़रूरत है कि लोगों को बेहतर तरीके साइबर सुरक्षा के मामले में जागरूक किया जाए। गांव देहात के लोगों के साथ ऐसा हुआ तो उन पर क्या बीतेगी। हमारा तो लिखा हुआ लुटा है, अगर ग़रीब जनता की कमाई लुट गई तो मीडिया ही नहीं जाएगा। ज़्यादा से ज्यादा किसी रद्दी अख़बार के कोने में छप जाएगा जिसके पहले पन्ने पर सरकार का ज़रूरत से ज़्यादा गुणगान छपा होगा।
मैं ढाई साल से इस आनलाइन सियासी गुंडागर्दी के बारे में लिख रहा हूं। आख़िर वे कितने नकारे हो सकते हैं जो किसी का ईमेल हैक होने पर खुशी ज़ाहिर कर रहे हैं। क्या अब हमारी राजनीति और फोकटिया नेता ऐसे ही समर्थकों के दम पर घुड़की मारेंगे। ये जिस भी दल के समर्थक या सहयोगी है उसके नेताओं को चाहिए कि अपने इन बीमार सपोर्टरों को डाक्टर के पास ले जाएं। इनकी ठीक से क्लास भी लें कि ये ढाई साल से मेरे पीछे मेहनत कर रहे हैं और कुछ न कर पाये। अगर किसी नेता को दिक्कत है तो ख़द से बोले न, ठाकुर की फौज बनाकर क्यों ये सब काम हो रहा है। अगर इतना ही डर हो गया है तो छोड़ देंगे। लिखा तो है कि अब छोड़ दूंगा। ऐश कीजिए। चौराहे पर चार हीरो खड़ा करके ये सब काम करने वाले इतिहास के दौर में हमेशा से रहे हैं। इसलिए भारतीय साहित्य संस्कृति में चौराहा बदमाश लंपटों के अड्डों के रूप में जाना जाता है। हमारी भोजपुरी में कहते है कि लफुआ ह, दिन भर चौक पर रहेला। ज़ाहिर है अकाउंट हैक होने पर इन जश्न मनाने वाले लोगों के बारे में सोच कर मन उदास हुआ है।ये घर से तो निकलते होंगे मां बाप को बता कर कि देश के काम में लगे नेताओं का काम करने जा रहे हैं। लेकिन वहां पहुंच कर ये गाली गलौज का काम करते हैं। आई टी सेल गुंडो का अड्डा है। दो चार शरीफों को रखकर बाकी काम यही सब होता है। लड़कियां ऐसे लड़कों से सतर्क रहें। इनसे दोस्ती तो दूर परिचय तक मत रखना। वो लोग भी बीमार हैं जो ऐसे लोगों का समर्थन करते हैं।
तो दो बाते हैं। एक तो किसी का भी अकाउंट हैक हो सकता है। हैक करने वाला अक्सर दूर देश में भी बैठा हो सकता है। आई टी सेल इस तरह का काम करने वालों को ठेका भी दे सकता है. आपको ताज़िंदगी मालूम न चलेगा। मैं तो यह भी सोच कर हैरान हूं कि आख़िर वो कौन लोग होंगे जो बरखा दत्त का ईमेल पढ़ना चाहेंगे। मेरा ईमेल पढ़ना चाहेंगे। अगर इतनी ही दिलचस्पी है तो घर आ जाइये। कुछ पुराने कपड़े हैं, धोने के लिए दे देता हूं। जाने दीजिए, समाज में ऐसे लोग हमेशा मिलेंगे लेकिन आप जो खुद को चिंतनशील नागरिक समझते हैं, इस बात को ठीक से समझिये। हमारे बाहने आपको डराया जा रहा है। हमारा क्या है। फिर से नया लिख लेंगे। आप नहीं पढ़ेंगे तो भी लिख लेंगे। हम फ़कीर नहीं हैं कि झोला लेकर चल देंगे। हम लकीर हैं। जहां खींच जाते हैं और जहां खींच देते हैं वहां गहरे निशान पड़ जाते हैं। सदियों तक उसके निशान रहेंगे। मैं किसी के बोलने देने का इंतज़ार नहीं करता हूं। जो बोलना होता है बोल देता हूं। कुलमिलाकर निंदा करते हैं और जो भी भीतर भीतर गुदगुदा रहे हैं उन्हें बता देते हैं कि आप एक बेहद ख़तरनाक दौर में रह रहे हैं। आपके बच्चे इससे भी ख़तरनाक दौर में रहेंगे। पासवर्ड ही नहीं, राजनीतिक निष्ठा भी बदलते रहिए। साइबर और सियासत में सुरक्षित रहने के लिए आप इतना ही कर सकते हैं। इतना कर लीजिए।

Friday, December 9, 2016

UPI - A step in right direction

UPI (Unified Payment Interface) is a good answer to reducing cost of cashless transactions. Currently it is free.

It is a government enterprise - National Payments Corporation of India directly in tie ups with Banks. Hence expected to keep the charges, when levied in future to be very less compared to 2% charged by credit card companies.

Following banks have released UPI apps

1
South Indian Bank
2
Union Bank of India
3
United Bank of India
4
Axis Bank
5
Karnataka Bank
6
Vijaya Bank
7
Punjab National Bank
8
Federal Bank
9
Bank of Maharashtra
10
Thane Janta Sahkari Bank
11
DCB
12
Catholic Syrian Bank
13
UCO Bank
14
ICICI Bank 
15
Andhra Bank
16
Canara Bank
17
IDFC Bank

So If you have an account with any of the above banks. Download the android app for your bank and register using your mobile number or id you prefer. It is free to transact using UPI at present cheaper than NEFT. :)

Tuesday, December 6, 2016

Upgrading Android Studio but getting errors

Error:CreateProcess error=216, This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher

Go to
File -> Project Structure ->  SDK Location

As you can see The SDK is still taking old jdk location
Navigate to JDK folder 1.8 or more (in my case C:\Program Files\Java\jdk1.8.0_111)

Click OK. This should solve the problem. Hope this helps :)



Monday, December 5, 2016

Hangouts not receiving notifications on Redmi Note 3


Go to Settings > Battery > Manage apps battery usage> Choose apps> Hangouts

Change from 'MIUIBattery saver' to 'No restrictions'

Your hangouts should start being able to deliver and receive messages even on 2G network. Hope this helps you. :)

Friday, December 2, 2016

Ensuring customizable text in toast - Android coding

So you want to write an app that can be used in different languages

So every text in the app needs to be customizable to the language

Say you are creating a toast, You don't want to programatically hardcode the text else it won't customize
here is a simple function that allows you to keep the text in strings.xml and create a toast
sampletext is the name of string defined in strings.xml

Strings.xml
<resources>
    <string name="sampletext">Hello, person</string>
</resources>


Your activity

Define a separate function in your activity
public static void ToastMemoryShort (Context context) {

    Toast.makeText(context, context.getString(R.string.sampletext), Toast.LENGTH_SHORT).show();
    return;
}

Just call this function in your activity where required using the following

ToastMemoryShort(getApplicationContext());

Hope this helped you. Let me know :)

Understanding Title bar in Android - When useful when not

I did not find any explanation hence putting this together

Title Bar refers to the top band which shows the app name.
For home launchers it is not required. So always select a theme which has NoTitleBar in it.

Example
android:theme="@android:style/Theme.Wallpaper.NoTitleBar"

This will give you a clean page with wallpaper.

For normal apps : Title Bar is useful as it informs the user which app he is using.

Theme.Wallpaper.NoTitleBar,FullScreen : This will give you a page which does not have the top bar.

Error building your first project - Unsupported major.minor version 52.0

If you got
Error:java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0

Solution is
Go to File -> Project Structure -> App  ->  Build Tool Version. Change it to 23.0.3

Cause of error:
You are using java version 7 and for some reason do not want to upgrade to java 8 yet.