Giter VIP home page Giter VIP logo

ahmedeltaher / prayer-times-android-azan Goto Github PK

View Code? Open in Web Editor NEW
364.0 26.0 95.0 17.59 MB

Prayer + Time + Android + Kotlin + Azan + Library + timezone + islamic + salah + Library aiming to calculate prayer time with one line code , if you implement prayer time application , there is no need to do this headache again .

License: Apache License 2.0

Kotlin 99.94% HTML 0.06%
prayer-times azan prayer times dates java android-library android-prayer-times islamic-prayer-times timezone

prayer-times-android-azan's Introduction

AZAN

Android Arsenal Android ArsenalLICENSE Build Kotlin

What is Azan ?
The Muslim call to ritual prayer made by a muezzin from the minaret of a mosque (or now often played from a recording) . Muslims have 5 prayers per day, at each time all muslims are notified by Azan, to pray. first Muslims used to calcualte prayer time with sun raise and sun shadows, but to simplyied it and make it moreaccurent speacilly in cloudy cities, Mosques currently use a complex calcualtion based on latitude, longitude, height, timezone, sun raise time.

What is Azan library?

Library aiming to calculate prayer time with one line code , if you implement prayer time application , there is no need to do this headache again .

azan-preview

Islam Time prayers is every complex to calculate, cause there is many variables in this calculations like:

  • latitude
  • longitude
  • timezone
  • height
  • The Way of Calculation

Azan library enables you to determin latitude, longitude, timezone, height, The Way of Calculation as Inputes.

Supported Calculation Methods :

Method Name Fajr Angel Isha Angel
Umm al-Qura University, Makkah 18.5 90 min after Maghrib , 120 min during Ramadan
MUHAMMADIYAH 20 18
Muslim World League (MWL) 18 17
Egyptian General Authority of Survey 19.5 17.5
University of Islamic Sciences, Karachi 18 18
Islamic Society of North America (ISNA) 15 15
Ithna Ashari 16 14
Institute of Geophysics, University of Tehran 17.7 14
UOIF (Union des organisations islamiques de France) 12 12
Kuwait Calc method 18 17.5

How to use ?

Add it to dependencies in your gradle file

  • Add it in your root build.gradle at the end of repositories:

    • in your allprojects section , you have to add maven { url 'https://jitpack.io' }
allprojects {  
 repositories { 
                      maven { 
                                url 'https://jitpack.io' 
  	                      }
  	         }
  	       }
  • in your build.gradle of your app module , Add the dependency

    implementation 'com.github.ahmedeltaher:Azan:3.0'

Example how to get prayer times

val today = SimpleDate(GregorianCalendar())
val location = Location(30.045411, 31.236735, 2.0, 0)
val azan = Azan(location, Method.EGYPT_SURVEY)
val prayerTimes = azan.getPrayerTimes(today)
val imsaak = azan.getImsaak(today) 
println("----------------results------------------------") 
println("date ---> " + today.day + " / " + today.month + " / " + today.year)
println("imsaak ---> $imsaak") println("Fajr ---> " + prayerTimes.fajr()) 
println("sunrise --->" + prayerTimes.shuruq())
println("Zuhr --->" + prayerTimes.thuhr())
println("Asr --->" + prayerTimes.assr()) 
println("Maghrib --->" + prayerTimes.maghrib())
println("ISHA  --->" + prayerTimes.ishaa())
println("----------------------------------------") 

LICENSE

Ahmed Eltaher 2016

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

prayer-times-android-azan's People

Contributors

ahmedeltaher avatar imranvora avatar sigitbn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

prayer-times-android-azan's Issues

Timezone in library

Hello, I am trying to change timezone but its not working. It always give me time of my current timezone only. Can you please help me out with this timezone thing.
Thanks

Doesnt give proper value for different timezones

The value returned for +6 timezone was way off to the original value.

I passed the timezone parameter as double (6.0) but it gave me wrong output .
Then i tried putting some manual lat and long with their timezone,, value didnt match,
Please fix the timezone calculation. otherwise its a great library !

PrayerTimes return null

Hi, I'm trying to use this library in my APP, but I think it returns null instead of the time, The code below is how I used it in my fragment:

public class PrayerFragment extends Fragment {

    Date fajr;
    Date sunrise;
    Date zuhr;
    Date maghrib;
    Date isha;

    public PrayerFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_prayer, container, false);
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        GregorianCalendar date = new GregorianCalendar();

        PrayerTimes prayerTimes = new TimeCalculator().date(date).location(-6.38043079,106.85337984, 0,7).timeCalculationMethod(EGYPT).calculateTimes();

        prayerTimes.setUseSecond(true);

        fajr = prayerTimes.getPrayTime(PrayersType.FAJR);

        sunrise = prayerTimes.getPrayTime(PrayersType.SUNRISE);

        zuhr = prayerTimes.getPrayTime(PrayersType.ZUHR);

        maghrib = prayerTimes.getPrayTime(PrayersType.MAGHRIB);

        isha = prayerTimes.getPrayTime(PrayersType.ISHA);

    }

    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        if (fajr != null) {
            TextView textView = (TextView) getView().findViewById(R.id.fajr);
            textView.setText((CharSequence) fajr);
        }else{
            Toast.makeText(getContext().getApplicationContext(), "LOL", Toast.LENGTH_LONG).show();
        }
    }
}

add the app to f-droid

السلام عليكم انا اخوك مصطفى من المغرب مصمم كرافيك
اريد ان اقترح عليك بما انك تطور تطبيقات مفتوحة المصدر ان تضيفها ايضا لمتجر البرامج f-droid. فهو متجر حر مفتوح المصدر يحترم خصوصية الناس ويأوي فقط تطبيقات حرة مثل التي تطور و هناك خصاص واضح فيه للتطبيقات العربية.. و شكرا

Allow to set a custom AngleCalculationType

Hello,

Thanks for your work !

I want to use your library for my project but I cannot. Because I want to set a custom AngleCalculationType and not pre-defined values "MWL(18, 17), ISNA(15, 15), EGYPT(19.5, 17.5), KARACHI(18, 18), MUHAMMADIYAH(20, 18)".

Can I do this ?

Thanks.

build gradle failed

Failed to resolve: com.github.ahmedeltaher:Azan:3.0
Show in Project Structure dialog
Affected Modules: app

I use android studio Dolphin and sdk 33

maghrib athan 00:00 for

hello ahmed.eltaher
Thank you so much for this great library

I found a bug in this library

In some cities, such as Abu Dhabi, where the altitude is less than zero (-17m), the Maghrib Adhan is displayed at 00:00.
To solve this problem, I set the height of these places to zero to solve the problem.

PHOTO-2021-04-30-18-42-56

Incorrect Isha time

Isha time not match with my local Prayer times. I am in Indonesia and using Muhammadiyah method (20 for Fajr and 18 for Isha).

DST TIme

Is the dst functionality accurate? For example I live in America central time, we are currently in daylight savings, but when calculating salah times I have to put dst as 0, because if I put it as 1 it will be an hour ahead and inaccurate . Similarly when daylight savings turns off, I have to change the dst value to -1. I can still use it like this, but it seems as though the dst integer is off by 1, 0 should mean off(no dst), 1 should mean 1 hour of dst, etc.

Prayer time not correct

Hello sir,

I am not getting exactly time for prayer for my country India. can you describe me how can I get exactly prayer time?

I am waiting your response.

Thanks,
Amit Pal

Islamic Calendar

Is there any way to use your library with Islamic Calendar rather than the GregorianCalendar?
and also is there any way to change the time format to 12 rather than 24 ?

Prayer time is incorrect for hanafi mazhab system

Dear Sir,
at first very much appreciation for this awesome library. I use this library in one of my app but i can't implement the time properly specially for Assar (in Bangladeshi time) as the Hanafi system is not implementable here.Can you please look up into the matter?thanks

Wrong ashar time

Assalammualaikum,

Hi Brother, thanks for your library, it helps much to spread kindness through your library. I would like to share with you that I found the wrong Ashar time compares to our actual Ashar azan time in my place, South Tangerang, Indonesia. In your library said 14:02 and the actual one is 15:24, I think the difference here is quite long. Could you please update the calculation on it?.

Allah Bless you bro, Ameen.

Thank You

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.