I am working on an Android app where we add post with some tags like in Stack Overflow. I observed that people in my app add tags with different patterns like they use technology as tech, techno, technologies or startup, start up or start-up so when they do something like this then sorting post on searching is a challenge. I mean when they search for startup they cannot see post tagged with start up or start-up.
So I thought to change the edittext where users write tags to an autoCompleteTextView so now they must have to add tags from the list provided in the app. But for the list of words I need a list/array of strings but I can't include them in my app as there are millions of words and they will increase the size of the app up to 5 to 6mb. So I want a free API for my app.
There are many APIs are for this one of them is here.
A text file containing 479k English words for all your
dictionary/word-based projects e.g: auto-completion / autosuggestion
You can get tutorials on this. If you want to use it in android with kotlin by just searching it like "Kotlin with Retrofit 2".
My question is in the context of an Android app providing users with a way to add Places to the Google Places database. Regarding this page:
https://developers.google.com/places/supported_types
After extensive searching, I've been unable to find a way to retrieve these types from the API in a manner suitable for presentation to the user. Does anyone know a way to accomplish this, or is there a built-in dialog I can call (similar to the Place Picker)?
Thank you in advance.
I see this is old so you've likely worked around your issue by now. For the benefit of others, here's a work around since Google seems to have left us dangling on this one.
First, I've created a small data file having all of Google's constants (as of this posting date) associated with friendly names. The two values are separated by commas.
Here's a link to the file:
https://drive.google.com/open?id=0B_33r2IAzcMibndhT2RicWdLUXc
This file can be formatted in JSON if you wish, or read as is. Use it as a source for an AutoCompleteTextView DataAdapter, so the users can easily select a place type. I haven't written the code yet. My needs are different than yours so my code won't meet your needs, but it should be pretty easy to implement an AutoCompleteTextView with this data.
I've just started with programming Android apps and was wondering how to get my app to appear to people who search for generic words related to my app. For example, I wrote a simple tetris-like clone, but the word tetris is owned by a company if I'm not mistaken so I can't use that term in my descriptions. However if one does a search of the word "tetris" in the store, many apps will appear even though they don't mention the word "tetris" anywhere within is name, descriptions etc.
So I was wondering how exactly do people get keywords like this to direct to their app without explicitly mentioning it anywhere.
about from description, you can use tags too to make you app found. also the more rating you have the better your applications shows up. that is why some apps with huge rating shows up when some search query similar or has the same meaning with there keys words shows up.
Just work on you application's rating.
It's the very first time for me asking question on this forum, so hope that everyone won't be too strict.
This semester I've been doing Project and I decided to make android application that will be able to parse articles from websites(not one, but many) and save it in text file or SQLite Database. I've been doing this for already 5 months and I really don't know how can I get particular plain text from webpage without getting unrelated to particular article stuff, such as adds etc.
Through this forum I found out how I can parse data from one website using Jsoup(I'm using one in my Project). And I thought it might work with multiple websites as well, but since many websites using different html tags to represent content of certain article, I couldn't find any common parameters that can be used.
I'm not sure, but I think I saw somebody on this forum said this kind of thing is impossible, but then how we can explain existence of such kind of apps like Pocket(Former Read it Later), Instapaper etc. These apps are doing what ultimately I want my app to do.
So can anybody give any suggestions about what can I do about it? Thanks.
I'm not sure whether it's going to show whole story, but here is the code:
doc = Jsoup.connect("http://"+URLField.getText().toString()+"").get();
// get page title
title = doc.title();
doc = new Cleaner(Whitelist.none()).clean(doc);
Here I'm simply using Jsoup library and its Cleaner class, but I get a lot of text that I don't want to appear. I wanted to post image to make it clear(what I want), but this forum doesn't let me do that.
I have an application that uses predefined word lists but I want to extend it to give the option of using their own custom lists.
Unfortunately lists like SOWPODS (the official Scrabble word list) are quite comprehensive and contain words I wouldn't want popping up on the screen.
I can easily get hold of a banned word list and build it into my application as a kind of swear filter. Is this likely to get my app trapped by any application filtering that may be present on Google Marketplace and, if so, is there a way around it? (encryption, compression etc.)
EDIT: Most of the answers so far are missing the point that the user will be supplying the list so I have no control over its content and need to filter it in my app either on import or as it is used. (Though they will still blame me if the app "swears" at them)
Is there a reason you couldn't just filter the words upon import against a "bad words" list that, according to a previous comment you made, it sounds like you already compiled?
You could also add the option into a preferences menu so that it doesn't filter them on import.
Edit: Google's policies don't allow "excessive profanity." If it is rejected, I assume you could just appeal with the argument that it is a filter against profanity and your app would be accepted.
Random thought: why not build a Bloom Filter for disallowed words, and store the bits in the filter in your program's executable instead of the word list? Sure, you might get the odd false positive, but in the space of possible strings your word list is going to filter a lot more bits.
Alternatively, if what you're really worried about is someone doing a string dump on your application, some simple obfuscation like base64 should do the trick.
Many *nix distros include a word list in a plain text file /usr/share/dict/words (used for spell-check, etc.). On my OSX Leopard laptop the list appears to be stripped of the f-words. On my linux server, the f-words are there. Check your *nix distro with grep to see what you have and if it doesn't contain f-words, you could base your program on that word list.
Why not have a list of good-words instead of bad-words.. Much easier to find, and will make sure people can not trick your filter. I do however believe that users do not really like filters.
I would think the banned word list would be relatively small (what, 15-20 words?). I haven't done anything like this in Java yet, but I imagine it would be simple to, when the user imports a list, put that list into a binary search tree, and then check it against the banned word list, deleting any matching entries. Then save this filtered list and use it.
Just to add to this, I would perhaps have a popup dialog, or maybe a preference that allows the user to disable filtering. Always better to give the option. :)
I commented, but this is really more of an answer.
I think you need to learn how "spam" and "content filtering" works.
Neither of those things will prevent your app from containing or emitting any type of word. To be very clear, neither are going to search the binary of your application for those words.
That said, you can absolutely keep a list of words with your installer that you use to filter out what is displayed to the user regardless of what they upload.
BTW, "spam" filters are there to stop spam email from being received and hence block those. Content Filters work two ways. First, by letting the content providers explicitly state what audience their content is good for and second by filtering the data as it comes across. These do NOT work inside of an application; rather, they work on the data a web browser receives.
I would start with a standard word list. A separate program would filter out any bad words and create your own modified standard word list.
Your application would then not need to worry about filtering anything out. No garbage in, no garbage out.