Skip to main content

C++ Notes published

I have published my next app - C++ Notes

The app has short notes on basic and advanced topics of C++ along with quiz and programs.

I have tried to use material design here - may not be so successful. And have used firebase ads instead of admob. Admob has now become firebase.

Be careful, when you add firebase ads, three extra permissions are added to the app - WAKELOCK and some c2d -permission-receive and c2d message. And users will wonder why the hell this app needs these permissions.

So you can add these lines in your manifest file to remove these permissions.
 
 <uses-permission android:name="android.permission.WAKE_LOCK" tools:node="remove" />
 <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" tools:node="remove" />
 <uses-permission android:name="your.app.package.permission.C2D_MESSAGE" tools:node="remove" />
 
I spent quite some time on deciding about scrolling and swiping. Notes had some formatting - colors, fonts etc. So I thought I will use HTML and webview.  Questions are some what lengthy, I had to put these in a  scrollview. Webview has a scroll feature automatically.

So when I tried to add swipe feature using ontouch listener, the behavior was erratic. Scroll would swipe the page. After lot of tinkering, I decided not to use swipe at all. Any views?

And it would have looked good, if the continue button was visible only when the webview scrolled to the bottom. Could not do it. :(

And I processed the html pages using Kompozer - reasonably good enough tool for HTML formatting. But even within that, code formatting was not good. So I used hilite.me site for formatting code with colors, borders etc.

Instead of actionbar I used toolbar with support library. Support library because my minimum sdk is 11. Toolbar is OK. Not as friendly as I expected it to be. But one good thing is you can add widgets in it directly and format them as you want them to be and write on click listeners to them.

One thing which I forgot was search feature. This is present in C app. But here since the topics were already highlighted in first page, I let it lapse.

Download the app and give me your feedback. 


Comments

Popular posts from this blog

Copy to clipboard

In my upcoming app, I have codes which I display. These are some times lengthy, and I want the app to be able to copy this to clipboard. Once it is in clipboard, users can paste it anywhere. So how do you copy some text from your app to clipboard. You need to use clipboard manager. Clipboard Manager This class sets and gets data for the clipboard using Clipdata objects.  You can get the object of this class using system service.  - using statement context.getSystemService(Context.CLIPBOARD_SERVICE) Example I have a dummy project with a button, onclick of which copies content to clipboard. Here is my activity file package com . hegdeapps . testapp ; import android.content.ClipData ; import android.content.ClipboardManager ; import android.support.v7.app.AppCompatActivity ; import android.os.Bundle ; import android.view.View ; import android.widget.Button ; import android.widget.TextView ; public class MainActivity extends ...

Drawables in Android - Layer drawable

Let us see how to use layer drawable. You can have two or more bitmaps on different layers to create such a drawable Using xml : You should use layer-list in your xml file to create layerdrawable. Here is layer.xml <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:src="@drawable/whiteicon" android:gravity="top|left"/> </item> <item> <bitmap android:src="@drawable/blueicon" android:gravity="top|left"/> </item> <item> <bitmap android:src="@drawable/redicon" android:gravity="top|left"/> </item> </layer-list> We are using three different bitmaps whiteicon.png, redicon.png and blueicon.png which are present in /res/drawable/mdpi folder. All these are of different sizes and aligned to top left. Thi...

Using a list fragment with cursor adapter

All these days, I avoided using fragments. But then I realized for my this particular applications fragments are ideal. I have a master - detail list in my app. Let us say you want to have two fragments - one is a fragment which contains a list of elements and second one expands one element of the list. Both of them share the same cursor from the activity. Let us start with list fragment. Do not try creating list fragment using a wizard. It unnecearrily adds too many methods and classes. Let us start writing our own fragment like this class MyListFragment extends ListFragment { } Next using code menu override option, override the following method onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) This method should be used for inflating the layout file for the fragment.  I have a framelayout in parent activity of this fragment with the id as container. So I will specify that for inflating. The framelayout will be the paren...